Annotation of 41BSD/games/banner.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * banner - prints large signs
                      3:  * banner [-w#] [-d] [-t] message ...
                      4:  */
                      5: 
                      6: #include <stdio.h>
                      7: #define dir(f) "/e1/mrh/ucb/lib/f"
                      8: #define INDTBL dir(ban.dat.indtbl)
                      9: #define OBJECT dir(ban.dat.object)
                     10: #define MAXMSG 100
                     11: #define DWIDTH 132
                     12: #define NCHARS 128
                     13: #define NBYTES 9271
                     14: 
                     15: /* Pointers into data_table for each ASCII char */
                     16: int asc_ptr[NCHARS] = {
                     17: /* ^@ */   0,      0,      0,      0,      0,      0,      0,      0,
                     18: /* ^H */   0,      0,      0,      0,      0,      0,      0,      0,
                     19: /* ^P */   0,      0,      0,      0,      0,      0,      0,      0,
                     20: /* ^X */   0,      0,      0,      0,      0,      0,      0,      0,
                     21: /*    */   1,      3,     50,     81,    104,    281,    483,    590,
                     22: /*  ( */ 621,    685,    749,    851,    862,    893,    898,    921,
                     23: /*  0 */1019,   1150,   1200,   1419,   1599,   1744,   1934,   2111,
                     24: /*  8 */2235,   2445,   2622,   2659,      0,   2708,      0,   2715,
                     25: /*  @ */2857,   3072,   3273,   3403,   3560,   3662,   3730,   3785,
                     26: /*  H */3965,   4000,   4015,   4115,   4281,   4314,   4432,   4548,
                     27: /*  P */4709,   4790,   4999,   5188,   5397,   5448,   5576,   5710,
                     28: /*  X */5892,   6106,   6257,      0,      0,      0,      0,      0,
                     29: /*  ` */  50,   6503,   6642,   6733,   6837,   6930,   7073,   7157,
                     30: /*  h */7380,   7452,   7499,   7584,   7689,   7702,   7797,   7869,
                     31: /*  p */7978,   8069,   8160,   8222,   8381,   8442,   8508,   8605,
                     32: /*  x */8732,   8888,   9016,      0,      0,      0,      0,      0
                     33: };
                     34: 
                     35: /*
                     36:  * Table of stuff to print. Format:
                     37:  * 128+n -> print current line n times.
                     38:  * 64+n  -> this is last byte of char.
                     39:  * else, put m chars at position n (where m
                     40:  * is the next elt in array) and goto second
                     41:  * next element in array.
                     42:  */
                     43: char data_table[NBYTES] = {
                     44: /*             0     1     2     3     4     5     6     7     8     9 */
                     45: /*    0 */   129,  227,  130,   34,    6,   90,   19,  129,   32,   10, 
                     46: /*   10 */    74,   40,  129,   31,   12,   64,   53,  129,   30,   14, 
                     47: /*   20 */    54,   65,  129,   30,   14,   53,   67,  129,   30,   14, 
                     48: /*   30 */    54,   65,  129,   31,   12,   64,   53,  129,   32,   10, 
                     49: /*   40 */    74,   40,  129,   34,    6,   90,   19,  129,  194,  130, 
                     50: /*   50 */    99,    9,  129,   97,   14,  129,   96,   18,  129,   95, 
                     51: /*   60 */    22,  129,   95,   16,  117,    2,  129,   95,   14,  129, 
                     52: /*   70 */    96,   11,  129,   97,    9,  129,   99,    6,  129,  194, 
                     53: /*   80 */   129,   87,    4,  101,    4,  131,   82,   28,  131,   87, 
                     54: /*   90 */     4,  101,    4,  133,   82,   28,  131,   87,    4,  101, 
                     55: /*  100 */     4,  131,  193,  129,   39,    1,   84,   27,  129,   38, 
                     56: /*  110 */     3,   81,   32,  129,   37,    5,   79,   35,  129,   36, 
                     57: /*  120 */     5,   77,   38,  129,   35,    5,   76,   40,  129,   34, 
                     58: /*  130 */     5,   75,   21,  103,   14,  129,   33,    5,   74,   19, 
                     59: /*  140 */   107,   11,  129,   32,    5,   73,   17,  110,    9,  129, 
                     60: /*  150 */    32,    4,   73,   16,  112,    7,  129,   31,    4,   72, 
                     61: /*  160 */    15,  114,    6,  129,   31,    4,   72,   14,  115,    5, 
                     62: /*  170 */   129,   30,    4,   71,   15,  116,    5,  129,   27,   97, 
                     63: /*  180 */   131,   30,    4,   69,   14,  117,    4,  129,   30,    4, 
                     64: /*  190 */    68,   15,  117,    4,  132,   30,    4,   68,   14,  117, 
                     65: /*  200 */     4,  129,   27,   97,  131,   30,    5,   65,   15,  116, 
                     66: /*  210 */     5,  129,   31,    4,   65,   14,  116,    4,  129,   31, 
                     67: /*  220 */     6,   64,   15,  116,    4,  129,   32,    7,   62,   16, 
                     68: /*  230 */   115,    4,  129,   32,    9,   61,   17,  114,    5,  129, 
                     69: /*  240 */    33,   11,   58,   19,  113,    5,  129,   34,   14,   55, 
                     70: /*  250 */    21,  112,    5,  129,   35,   40,  111,    5,  129,   36, 
                     71: /*  260 */    38,  110,    5,  129,   37,   35,  109,    5,  129,   38, 
                     72: /*  270 */    32,  110,    3,  129,   40,   27,  111,    1,  129,  193, 
                     73: /*  280 */   129,   30,    4,  103,    9,  129,   30,    7,  100,   15, 
                     74: /*  290 */   129,   30,   10,   99,   17,  129,   33,   10,   97,    6, 
                     75: /*  300 */   112,    6,  129,   36,   10,   96,    5,  114,    5,  129, 
                     76: /*  310 */    39,   10,   96,    4,  115,    4,  129,   42,   10,   95, 
                     77: /*  320 */     4,  116,    4,  129,   45,   10,   95,    3,  117,    3, 
                     78: /*  330 */   129,   48,   10,   95,    3,  117,    3,  129,   51,   10, 
                     79: /*  340 */    95,    4,  116,    4,  129,   54,   10,   96,    4,  115, 
                     80: /*  350 */     4,  129,   57,   10,   96,    5,  114,    5,  129,   60, 
                     81: /*  360 */    10,   97,    6,  112,    6,  129,   63,   10,   99,   17, 
                     82: /*  370 */   129,   66,   10,  100,   15,  129,   69,   10,  103,    9, 
                     83: /*  380 */   129,   39,    9,   72,   10,  129,   36,   15,   75,   10, 
                     84: /*  390 */   129,   35,   17,   78,   10,  129,   33,    6,   48,    6, 
                     85: /*  400 */    81,   10,  129,   32,    5,   50,    5,   84,   10,  129, 
                     86: /*  410 */    32,    4,   51,    4,   87,   10,  129,   31,    4,   52, 
                     87: /*  420 */     4,   90,   10,  129,   31,    3,   53,    3,   93,   10, 
                     88: /*  430 */   129,   31,    3,   53,    3,   96,   10,  129,   31,    4, 
                     89: /*  440 */    52,    4,   99,   10,  129,   32,    4,   51,    4,  102, 
                     90: /*  450 */    10,  129,   32,    5,   50,    5,  105,   10,  129,   33, 
                     91: /*  460 */     6,   48,    6,  108,   10,  129,   35,   17,  111,   10, 
                     92: /*  470 */   129,   36,   15,  114,    7,  129,   40,    9,  118,    4, 
                     93: /*  480 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41, 
                     94: /*  490 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44, 
                     95: /*  500 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32, 
                     96: /*  510 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31, 
                     97: /*  520 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30, 
                     98: /*  530 */     5,   79,    5,  129,   20,   74,  132,   30,    4,   80, 
                     99: /*  540 */     4,  129,   31,    3,   79,    4,  129,   31,    4,   79, 
                    100: /*  550 */     4,  129,   32,    3,   78,    4,  129,   32,    4,   76, 
                    101: /*  560 */     6,  129,   33,    4,   74,    7,  129,   34,    4,   72, 
                    102: /*  570 */     8,  129,   35,    5,   72,    7,  129,   37,    5,   73, 
                    103: /*  580 */     4,  129,   39,    4,   74,    1,  129,  129,  193,  130, 
                    104: /*  590 */   111,    6,  129,  109,   10,  129,  108,   12,  129,  107, 
                    105: /*  600 */    14,  129,   97,    2,  105,   16,  129,   99,   22,  129, 
                    106: /*  610 */   102,   18,  129,  105,   14,  129,  108,    9,  129,  194, 
                    107: /*  620 */   130,   63,   25,  129,   57,   37,  129,   52,   47,  129, 
                    108: /*  630 */    48,   55,  129,   44,   63,  129,   41,   69,  129,   38, 
                    109: /*  640 */    75,  129,   36,   79,  129,   34,   83,  129,   33,   28, 
                    110: /*  650 */    90,   28,  129,   32,   23,   96,   23,  129,   32,   17, 
                    111: /*  660 */   102,   17,  129,   31,   13,  107,   13,  129,   30,    9, 
                    112: /*  670 */   112,    9,  129,   30,    5,  116,    5,  129,   30,    1, 
                    113: /*  680 */   120,    1,  129,  194,  130,   30,    1,  120,    1,  129, 
                    114: /*  690 */    30,    5,  116,    5,  129,   30,    9,  112,    9,  129, 
                    115: /*  700 */    31,   13,  107,   13,  129,   32,   17,  102,   17,  129, 
                    116: /*  710 */    32,   23,   96,   23,  129,   33,   28,   90,   28,  129, 
                    117: /*  720 */    34,   83,  129,   36,   79,  129,   38,   75,  129,   41, 
                    118: /*  730 */    69,  129,   44,   63,  129,   48,   55,  129,   52,   47, 
                    119: /*  740 */   129,   57,   37,  129,   63,   25,  129,  194,  129,   80, 
                    120: /*  750 */     4,  130,   80,    4,  129,   68,    2,   80,    4,   94, 
                    121: /*  760 */     2,  129,   66,    6,   80,    4,   92,    6,  129,   67, 
                    122: /*  770 */     7,   80,    4,   90,    7,  129,   69,    7,   80,    4, 
                    123: /*  780 */    88,    7,  129,   71,    6,   80,    4,   87,    6,  129, 
                    124: /*  790 */    72,   20,  129,   74,   16,  129,   76,   12,  129,   62, 
                    125: /*  800 */    40,  131,   76,   12,  129,   74,   16,  129,   72,   20, 
                    126: /*  810 */   129,   71,    6,   80,    4,   87,    6,  129,   69,    7, 
                    127: /*  820 */    80,    4,   88,    7,  129,   67,    7,   80,    4,   90, 
                    128: /*  830 */     7,  129,   66,    6,   80,    4,   92,    6,  129,   68, 
                    129: /*  840 */     2,   80,    4,   94,    2,  129,   80,    4,  130,  193, 
                    130: /*  850 */   129,   60,    4,  139,   41,   42,  131,   60,    4,  139, 
                    131: /*  860 */   193,  130,   34,    6,  129,   32,   10,  129,   31,   12, 
                    132: /*  870 */   129,   30,   14,  129,   20,    2,   28,   16,  129,   22, 
                    133: /*  880 */    22,  129,   24,   19,  129,   27,   15,  129,   31,    9, 
                    134: /*  890 */   129,  194,  129,   60,    4,  152,  193,  130,   34,    6, 
                    135: /*  900 */   129,   32,   10,  129,   31,   12,  129,   30,   14,  131, 
                    136: /*  910 */    31,   12,  129,   32,   10,  129,   34,    6,  129,  194, 
                    137: /*  920 */   129,   30,    4,  129,   30,    7,  129,   30,   10,  129, 
                    138: /*  930 */    33,   10,  129,   36,   10,  129,   39,   10,  129,   42, 
                    139: /*  940 */    10,  129,   45,   10,  129,   48,   10,  129,   51,   10, 
                    140: /*  950 */   129,   54,   10,  129,   57,   10,  129,   60,   10,  129, 
                    141: /*  960 */    63,   10,  129,   66,   10,  129,   69,   10,  129,   72, 
                    142: /*  970 */    10,  129,   75,   10,  129,   78,   10,  129,   81,   10, 
                    143: /*  980 */   129,   84,   10,  129,   87,   10,  129,   90,   10,  129, 
                    144: /*  990 */    93,   10,  129,   96,   10,  129,   99,   10,  129,  102, 
                    145: /* 1000 */    10,  129,  105,   10,  129,  108,   10,  129,  111,   10, 
                    146: /* 1010 */   129,  114,    7,  129,  117,    4,  129,  193,  129,   60, 
                    147: /* 1020 */    31,  129,   53,   45,  129,   49,   53,  129,   46,   59, 
                    148: /* 1030 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129, 
                    149: /* 1040 */    37,   77,  129,   36,   79,  129,   35,   15,  101,   15, 
                    150: /* 1050 */   129,   34,   11,  106,   11,  129,   33,    9,  109,    9, 
                    151: /* 1060 */   129,   32,    7,  112,    7,  129,   31,    6,  114,    6, 
                    152: /* 1070 */   129,   31,    5,  115,    5,  129,   30,    5,  116,    5, 
                    153: /* 1080 */   129,   30,    4,  117,    4,  132,   30,    5,  116,    5, 
                    154: /* 1090 */   129,   31,    5,  115,    5,  129,   31,    6,  114,    6, 
                    155: /* 1100 */   129,   32,    7,  112,    7,  129,   33,    9,  109,    9, 
                    156: /* 1110 */   129,   34,   11,  106,   11,  129,   35,   15,  101,   15, 
                    157: /* 1120 */   129,   36,   79,  129,   37,   77,  129,   39,   73,  129, 
                    158: /* 1130 */    41,   69,  129,   43,   65,  129,   46,   59,  129,   49, 
                    159: /* 1140 */    53,  129,   53,   45,  129,   60,   31,  129,  193,  129, 
                    160: /* 1150 */    30,    4,  129,   30,    4,  100,    1,  129,   30,    4, 
                    161: /* 1160 */   100,    3,  129,   30,    4,  100,    5,  129,   30,   76, 
                    162: /* 1170 */   129,   30,   78,  129,   30,   80,  129,   30,   82,  129, 
                    163: /* 1180 */    30,   83,  129,   30,   85,  129,   30,   87,  129,   30, 
                    164: /* 1190 */    89,  129,   30,   91,  129,   30,    4,  132,  193,  129, 
                    165: /* 1200 */    30,    3,  129,   30,    7,  129,   30,   10,  112,    1, 
                    166: /* 1210 */   129,   30,   13,  112,    2,  129,   30,   16,  112,    3, 
                    167: /* 1220 */   129,   30,   18,  111,    5,  129,   30,   21,  111,    6, 
                    168: /* 1230 */   129,   30,   23,  112,    6,  129,   30,   14,   47,    8, 
                    169: /* 1240 */   113,    6,  129,   30,   14,   49,    8,  114,    5,  129, 
                    170: /* 1250 */    30,   14,   51,    8,  115,    5,  129,   30,   14,   53, 
                    171: /* 1260 */     8,  116,    4,  129,   30,   14,   55,    8,  116,    5, 
                    172: /* 1270 */   129,   30,   14,   56,    9,  117,    4,  129,   30,   14, 
                    173: /* 1280 */    57,    9,  117,    4,  129,   30,   14,   58,   10,  117, 
                    174: /* 1290 */     4,  129,   30,   14,   59,   10,  117,    4,  129,   30, 
                    175: /* 1300 */    14,   60,   11,  117,    4,  129,   30,   14,   61,   11, 
                    176: /* 1310 */   116,    5,  129,   30,   14,   62,   11,  116,    5,  129, 
                    177: /* 1320 */    30,   14,   63,   12,  115,    6,  129,   30,   14,   64, 
                    178: /* 1330 */    13,  114,    7,  129,   30,   14,   65,   13,  113,    8, 
                    179: /* 1340 */   129,   30,   14,   65,   15,  111,    9,  129,   30,   14, 
                    180: /* 1350 */    66,   16,  109,   11,  129,   30,   14,   67,   17,  107, 
                    181: /* 1360 */    12,  129,   30,   14,   68,   20,  103,   16,  129,   30, 
                    182: /* 1370 */    14,   69,   49,  129,   30,   14,   70,   47,  129,   30, 
                    183: /* 1380 */    14,   71,   45,  129,   30,   14,   73,   42,  129,   30, 
                    184: /* 1390 */    15,   75,   38,  129,   33,   12,   77,   34,  129,   36, 
                    185: /* 1400 */    10,   79,   30,  129,   40,    6,   82,   23,  129,   44, 
                    186: /* 1410 */     3,   86,   15,  129,   47,    1,  129,  193,  129,  129, 
                    187: /* 1420 */    38,    3,  129,   37,    5,  111,    1,  129,   36,    7, 
                    188: /* 1430 */   111,    2,  129,   35,    9,  110,    5,  129,   34,    8, 
                    189: /* 1440 */   110,    6,  129,   33,    7,  109,    8,  129,   32,    7, 
                    190: /* 1450 */   110,    8,  129,   32,    6,  112,    7,  129,   31,    6, 
                    191: /* 1460 */   113,    6,  129,   31,    5,  114,    6,  129,   30,    5, 
                    192: /* 1470 */   115,    5,  129,   30,    5,  116,    4,  129,   30,    4, 
                    193: /* 1480 */   117,    4,  131,   30,    4,  117,    4,  129,   30,    4, 
                    194: /* 1490 */    79,    2,  117,    4,  129,   30,    5,   78,    4,  117, 
                    195: /* 1500 */     4,  129,   30,    5,   77,    6,  116,    5,  129,   30, 
                    196: /* 1510 */     6,   76,    8,  115,    6,  129,   30,    7,   75,   11, 
                    197: /* 1520 */   114,    6,  129,   30,    8,   73,   15,  112,    8,  129, 
                    198: /* 1530 */    31,    9,   71,   19,  110,    9,  129,   31,   11,   68, 
                    199: /* 1540 */    26,  107,   12,  129,   32,   13,   65,   14,   82,   36, 
                    200: /* 1550 */   129,   32,   16,   61,   17,   83,   34,  129,   33,   44, 
                    201: /* 1560 */    84,   32,  129,   34,   42,   85,   30,  129,   35,   40, 
                    202: /* 1570 */    87,   27,  129,   36,   38,   89,   23,  129,   38,   34, 
                    203: /* 1580 */    92,   17,  129,   40,   30,   95,   11,  129,   42,   26, 
                    204: /* 1590 */   129,   45,   20,  129,   49,   11,  129,  193,  129,   49, 
                    205: /* 1600 */     1,  129,   49,    4,  129,   49,    6,  129,   49,    8, 
                    206: /* 1610 */   129,   49,   10,  129,   49,   12,  129,   49,   14,  129, 
                    207: /* 1620 */    49,   17,  129,   49,   19,  129,   49,   21,  129,   49, 
                    208: /* 1630 */    23,  129,   49,   14,   65,    9,  129,   49,   14,   67, 
                    209: /* 1640 */     9,  129,   49,   14,   69,    9,  129,   49,   14,   71, 
                    210: /* 1650 */    10,  129,   49,   14,   74,    9,  129,   49,   14,   76, 
                    211: /* 1660 */     9,  129,   49,   14,   78,    9,  129,   49,   14,   80, 
                    212: /* 1670 */     9,  129,   49,   14,   82,    9,  129,   49,   14,   84, 
                    213: /* 1680 */     9,  129,   30,    4,   49,   14,   86,   10,  129,   30, 
                    214: /* 1690 */     4,   49,   14,   89,    9,  129,   30,    4,   49,   14, 
                    215: /* 1700 */    91,    9,  129,   30,    4,   49,   14,   93,    9,  129, 
                    216: /* 1710 */    30,   74,  129,   30,   76,  129,   30,   78,  129,   30, 
                    217: /* 1720 */    81,  129,   30,   83,  129,   30,   85,  129,   30,   87, 
                    218: /* 1730 */   129,   30,   89,  129,   30,   91,  129,   30,    4,   49, 
                    219: /* 1740 */    14,  132,  193,  129,   37,    1,  129,   36,    3,   77, 
                    220: /* 1750 */     3,  129,   35,    5,   78,   11,  129,   34,    7,   78, 
                    221: /* 1760 */    21,  129,   33,    7,   79,   29,  129,   32,    7,   79, 
                    222: /* 1770 */    38,  129,   32,    6,   80,    4,   92,   29,  129,   31, 
                    223: /* 1780 */     6,   80,    5,  102,   19,  129,   31,    5,   80,    6, 
                    224: /* 1790 */   107,   14,  129,   31,    4,   81,    5,  107,   14,  129, 
                    225: /* 1800 */    30,    5,   81,    6,  107,   14,  129,   30,    4,   81, 
                    226: /* 1810 */     6,  107,   14,  130,   30,    4,   81,    7,  107,   14, 
                    227: /* 1820 */   129,   30,    4,   80,    8,  107,   14,  130,   30,    5, 
                    228: /* 1830 */    80,    8,  107,   14,  129,   30,    5,   79,    9,  107, 
                    229: /* 1840 */    14,  129,   31,    5,   79,    9,  107,   14,  129,   31, 
                    230: /* 1850 */     6,   78,   10,  107,   14,  129,   32,    6,   76,   11, 
                    231: /* 1860 */   107,   14,  129,   32,    8,   74,   13,  107,   14,  129, 
                    232: /* 1870 */    33,   10,   71,   16,  107,   14,  129,   33,   15,   67, 
                    233: /* 1880 */    19,  107,   14,  129,   34,   51,  107,   14,  129,   35, 
                    234: /* 1890 */    49,  107,   14,  129,   36,   47,  107,   14,  129,   37, 
                    235: /* 1900 */    45,  107,   14,  129,   39,   41,  107,   14,  129,   41, 
                    236: /* 1910 */    37,  107,   14,  129,   44,   32,  107,   14,  129,   47, 
                    237: /* 1920 */    25,  111,   10,  129,   51,   16,  115,    6,  129,  119, 
                    238: /* 1930 */     2,  129,  193,  129,   56,   39,  129,   51,   49,  129, 
                    239: /* 1940 */    47,   57,  129,   44,   63,  129,   42,   67,  129,   40, 
                    240: /* 1950 */    71,  129,   38,   75,  129,   37,   77,  129,   35,   81, 
                    241: /* 1960 */   129,   34,   16,   74,    5,  101,   16,  129,   33,   11, 
                    242: /* 1970 */    76,    5,  107,   11,  129,   32,    9,   77,    5,  110, 
                    243: /* 1980 */     9,  129,   32,    7,   79,    4,  112,    7,  129,   31, 
                    244: /* 1990 */     6,   80,    4,  114,    6,  129,   31,    5,   81,    4, 
                    245: /* 2000 */   115,    5,  129,   30,    5,   82,    4,  116,    5,  129, 
                    246: /* 2010 */    30,    4,   82,    4,  116,    5,  129,   30,    4,   82, 
                    247: /* 2020 */     5,  117,    4,  131,   30,    5,   82,    5,  117,    4, 
                    248: /* 2030 */   129,   31,    5,   81,    6,  117,    4,  129,   31,    6, 
                    249: /* 2040 */    80,    7,  117,    4,  129,   32,    7,   79,    8,  117, 
                    250: /* 2050 */     4,  129,   32,    9,   77,    9,  116,    5,  129,   33, 
                    251: /* 2060 */    11,   75,   11,  116,    4,  129,   34,   16,   69,   16, 
                    252: /* 2070 */   115,    5,  129,   35,   49,  114,    5,  129,   37,   46, 
                    253: /* 2080 */   113,    5,  129,   38,   44,  112,    6,  129,   40,   41, 
                    254: /* 2090 */   112,    5,  129,   42,   37,  113,    3,  129,   44,   33, 
                    255: /* 2100 */   114,    1,  129,   47,   27,  129,   51,   17,  129,  193, 
                    256: /* 2110 */   129,  103,    2,  129,  103,    6,  129,  104,    9,  129, 
                    257: /* 2120 */   105,   12,  129,  106,   15,  129,  107,   14,  135,   30, 
                    258: /* 2130 */    10,  107,   14,  129,   30,   17,  107,   14,  129,   30, 
                    259: /* 2140 */    25,  107,   14,  129,   30,   31,  107,   14,  129,   30, 
                    260: /* 2150 */    37,  107,   14,  129,   30,   42,  107,   14,  129,   30, 
                    261: /* 2160 */    46,  107,   14,  129,   30,   50,  107,   14,  129,   30, 
                    262: /* 2170 */    54,  107,   14,  129,   30,   58,  107,   14,  129,   59, 
                    263: /* 2180 */    32,  107,   14,  129,   64,   30,  107,   14,  129,   74, 
                    264: /* 2190 */    23,  107,   14,  129,   81,   18,  107,   14,  129,   86, 
                    265: /* 2200 */    16,  107,   14,  129,   91,   14,  107,   14,  129,   96, 
                    266: /* 2210 */    25,  129,  100,   21,  129,  104,   17,  129,  107,   14, 
                    267: /* 2220 */   129,  111,   10,  129,  114,    7,  129,  117,    4,  129, 
                    268: /* 2230 */   120,    1,  129,  193,  129,   48,   13,  129,   44,   21, 
                    269: /* 2240 */   129,   42,   26,  129,   40,   30,   92,   12,  129,   38, 
                    270: /* 2250 */    34,   88,   20,  129,   36,   37,   86,   25,  129,   35, 
                    271: /* 2260 */    39,   84,   29,  129,   34,   13,   63,   12,   82,   33, 
                    272: /* 2270 */   129,   33,   11,   67,    9,   80,   36,  129,   32,    9, 
                    273: /* 2280 */    70,    7,   79,   38,  129,   31,    8,   72,   46,  129, 
                    274: /* 2290 */    30,    7,   74,   22,  108,   11,  129,   30,    6,   75, 
                    275: /* 2300 */    19,  111,    9,  129,   30,    5,   75,   17,  113,    7, 
                    276: /* 2310 */   129,   30,    5,   74,   16,  114,    6,  129,   30,    4, 
                    277: /* 2320 */    73,   16,  115,    6,  129,   30,    4,   72,   16,  116, 
                    278: /* 2330 */     5,  129,   30,    4,   72,   15,  117,    4,  129,   30, 
                    279: /* 2340 */     4,   71,   16,  117,    4,  129,   30,    5,   70,   16, 
                    280: /* 2350 */   117,    4,  129,   30,    5,   70,   15,  117,    4,  129, 
                    281: /* 2360 */    30,    6,   69,   15,  116,    5,  129,   30,    7,   68, 
                    282: /* 2370 */    17,  115,    5,  129,   30,    9,   67,   19,  114,    6, 
                    283: /* 2380 */   129,   30,   10,   65,   22,  113,    6,  129,   31,   12, 
                    284: /* 2390 */    63,   27,  110,    9,  129,   32,   14,   60,   21,   84, 
                    285: /* 2400 */     9,  106,   12,  129,   33,   47,   85,   32,  129,   34, 
                    286: /* 2410 */    45,   86,   30,  129,   35,   43,   88,   26,  129,   36, 
                    287: /* 2420 */    40,   90,   22,  129,   38,   36,   93,   17,  129,   40, 
                    288: /* 2430 */    32,   96,   10,  129,   42,   28,  129,   44,   23,  129, 
                    289: /* 2440 */    48,   15,  129,  193,  129,   83,   17,  129,   77,   27, 
                    290: /* 2450 */   129,   36,    1,   74,   33,  129,   35,    3,   72,   37, 
                    291: /* 2460 */   129,   34,    5,   70,   41,  129,   33,    6,   69,   44, 
                    292: /* 2470 */   129,   33,    5,   68,   46,  129,   32,    5,   67,   49, 
                    293: /* 2480 */   129,   31,    5,   66,   17,  101,   16,  129,   31,    5, 
                    294: /* 2490 */    66,   11,  108,   10,  129,   30,    4,   65,    9,  110, 
                    295: /* 2500 */     9,  129,   30,    4,   64,    8,  112,    7,  129,   30, 
                    296: /* 2510 */     4,   64,    7,  114,    6,  129,   30,    4,   64,    6, 
                    297: /* 2520 */   115,    5,  129,   30,    4,   64,    5,  116,    5,  129, 
                    298: /* 2530 */    30,    4,   64,    5,  117,    4,  131,   30,    4,   65, 
                    299: /* 2540 */     4,  117,    4,  129,   30,    5,   65,    4,  116,    5, 
                    300: /* 2550 */   129,   31,    5,   66,    4,  115,    5,  129,   31,    6, 
                    301: /* 2560 */    67,    4,  114,    6,  129,   32,    7,   68,    4,  112, 
                    302: /* 2570 */     7,  129,   32,    9,   69,    5,  110,    9,  129,   33, 
                    303: /* 2580 */    11,   70,    5,  107,   11,  129,   34,   16,   72,    5, 
                    304: /* 2590 */   101,   16,  129,   35,   81,  129,   37,   77,  129,   38, 
                    305: /* 2600 */    75,  129,   40,   71,  129,   42,   67,  129,   44,   63, 
                    306: /* 2610 */   129,   47,   57,  129,   51,   49,  129,   56,   39,  129, 
                    307: /* 2620 */   193,  130,   34,    6,   74,    6,  129,   32,   10,   72, 
                    308: /* 2630 */    10,  129,   31,   12,   71,   12,  129,   30,   14,   70, 
                    309: /* 2640 */    14,  131,   31,   12,   71,   12,  129,   32,   10,   72, 
                    310: /* 2650 */    10,  129,   34,    6,   74,    6,  129,  194,  130,   34, 
                    311: /* 2660 */     6,   74,    6,  129,   32,   10,   72,   10,  129,   31, 
                    312: /* 2670 */    12,   71,   12,  129,   30,   14,   70,   14,  129,   20, 
                    313: /* 2680 */     2,   28,   16,   70,   14,  129,   22,   22,   70,   14, 
                    314: /* 2690 */   129,   24,   19,   71,   12,  129,   27,   15,   72,   10, 
                    315: /* 2700 */   129,   31,    9,   74,    6,  129,  194,  129,   53,    4, 
                    316: /* 2710 */    63,    4,  152,  193,  130,   99,    7,  129,   97,   13, 
                    317: /* 2720 */   129,   96,   16,  129,   96,   18,  129,   96,   19,  129, 
                    318: /* 2730 */    97,   19,  129,   99,    6,  110,    7,  129,  112,    6, 
                    319: /* 2740 */   129,  114,    5,  129,   34,    6,   57,    5,  115,    4, 
                    320: /* 2750 */   129,   32,   10,   54,   12,  116,    4,  129,   31,   12, 
                    321: /* 2760 */    53,   16,  117,    3,  129,   30,   14,   52,   20,  117, 
                    322: /* 2770 */     4,  129,   30,   14,   52,   23,  117,    4,  129,   30, 
                    323: /* 2780 */    14,   52,   25,  117,    4,  129,   31,   12,   52,   27, 
                    324: /* 2790 */   117,    4,  129,   32,   10,   53,   10,   70,   11,  116, 
                    325: /* 2800 */     5,  129,   34,    6,   55,    5,   73,   10,  115,    6, 
                    326: /* 2810 */   129,   74,   11,  114,    7,  129,   75,   12,  112,    9, 
                    327: /* 2820 */   129,   76,   13,  110,   10,  129,   77,   16,  106,   14, 
                    328: /* 2830 */   129,   78,   41,  129,   80,   38,  129,   81,   36,  129, 
                    329: /* 2840 */    82,   34,  129,   84,   30,  129,   86,   26,  129,   88, 
                    330: /* 2850 */    22,  129,   92,   14,  129,  194,  129,   55,   15,  129, 
                    331: /* 2860 */    50,   25,  129,   47,   32,  129,   45,   13,   70,   12, 
                    332: /* 2870 */   129,   43,    9,   76,   10,  129,   42,    6,   79,    8, 
                    333: /* 2880 */   129,   41,    5,   81,    7,  129,   40,    4,   84,    6, 
                    334: /* 2890 */   129,   39,    4,   59,   12,   85,    6,  129,   38,    4, 
                    335: /* 2900 */    55,   19,   87,    5,  129,   37,    4,   53,   23,   88, 
                    336: /* 2910 */     4,  129,   36,    4,   51,    8,   71,    6,   89,    4, 
                    337: /* 2920 */   129,   36,    4,   51,    6,   73,    4,   89,    4,  129, 
                    338: /* 2930 */    36,    4,   50,    6,   74,    4,   90,    3,  129,   35, 
                    339: /* 2940 */     4,   50,    5,   75,    3,   90,    4,  129,   35,    4, 
                    340: /* 2950 */    50,    4,   75,    4,   90,    4,  131,   35,    4,   50, 
                    341: /* 2960 */     5,   75,    4,   90,    4,  129,   36,    4,   51,    5, 
                    342: /* 2970 */    75,    4,   90,    4,  129,   36,    4,   51,    6,   75, 
                    343: /* 2980 */     4,   90,    4,  129,   36,    4,   53,   26,   90,    4, 
                    344: /* 2990 */   129,   37,    4,   54,   25,   90,    4,  129,   37,    4, 
                    345: /* 3000 */    52,   27,   90,    3,  129,   38,    4,   52,    4,   89, 
                    346: /* 3010 */     4,  129,   39,    4,   51,    4,   88,    4,  129,   40, 
                    347: /* 3020 */     4,   50,    4,   87,    5,  129,   41,    4,   50,    4, 
                    348: /* 3030 */    86,    5,  129,   42,    4,   50,    4,   85,    5,  129, 
                    349: /* 3040 */    43,    3,   50,    4,   83,    6,  129,   44,    2,   51, 
                    350: /* 3050 */     5,   80,    7,  129,   46,    1,   52,    6,   76,    9, 
                    351: /* 3060 */   129,   54,   28,  129,   56,   23,  129,   60,   16,  129, 
                    352: /* 3070 */   193,  129,   30,    4,  132,   30,    5,  129,   30,    8, 
                    353: /* 3080 */   129,   30,   12,  129,   30,   16,  129,   30,    4,   37, 
                    354: /* 3090 */    12,  129,   30,    4,   41,   12,  129,   30,    4,   44, 
                    355: /* 3100 */    13,  129,   30,    4,   48,   13,  129,   52,   13,  129, 
                    356: /* 3110 */    56,   12,  129,   58,   14,  129,   58,    4,   64,   12, 
                    357: /* 3120 */   129,   58,    4,   68,   12,  129,   58,    4,   72,   12, 
                    358: /* 3130 */   129,   58,    4,   75,   13,  129,   58,    4,   79,   13, 
                    359: /* 3140 */   129,   58,    4,   83,   13,  129,   58,    4,   87,   13, 
                    360: /* 3150 */   129,   58,    4,   91,   12,  129,   58,    4,   95,   12, 
                    361: /* 3160 */   129,   58,    4,   96,   15,  129,   58,    4,   93,   22, 
                    362: /* 3170 */   129,   58,    4,   89,   30,  129,   58,    4,   85,   36, 
                    363: /* 3180 */   129,   58,    4,   81,   38,  129,   58,    4,   77,   38, 
                    364: /* 3190 */   129,   58,    4,   73,   38,  129,   58,    4,   70,   37, 
                    365: /* 3200 */   129,   58,    4,   66,   37,  129,   58,   41,  129,   58, 
                    366: /* 3210 */    37,  129,   54,   38,  129,   30,    4,   50,   38,  129, 
                    367: /* 3220 */    30,    4,   46,   38,  129,   30,    4,   42,   38,  129, 
                    368: /* 3230 */    30,    4,   38,   39,  129,   30,   43,  129,   30,   39, 
                    369: /* 3240 */   129,   30,   35,  129,   30,   31,  129,   30,   27,  129, 
                    370: /* 3250 */    30,   24,  129,   30,   20,  129,   30,   16,  129,   30, 
                    371: /* 3260 */    12,  129,   30,    8,  129,   30,    5,  129,   30,    4, 
                    372: /* 3270 */   132,  193,  129,   30,    4,  117,    4,  132,   30,   91, 
                    373: /* 3280 */   137,   30,    4,   80,    4,  117,    4,  138,   30,    4, 
                    374: /* 3290 */    80,    5,  116,    5,  129,   30,    5,   79,    6,  116, 
                    375: /* 3300 */     5,  130,   30,    6,   78,    8,  115,    6,  129,   31, 
                    376: /* 3310 */     6,   77,    9,  115,    6,  129,   31,    7,   76,   11, 
                    377: /* 3320 */   114,    6,  129,   31,    8,   75,   14,  112,    8,  129, 
                    378: /* 3330 */    32,    8,   74,   16,  111,    9,  129,   32,    9,   73, 
                    379: /* 3340 */    19,  109,   10,  129,   33,   10,   71,   24,  106,   13, 
                    380: /* 3350 */   129,   33,   13,   68,   12,   83,   35,  129,   34,   16, 
                    381: /* 3360 */    64,   15,   84,   33,  129,   35,   43,   85,   31,  129, 
                    382: /* 3370 */    36,   41,   86,   29,  129,   37,   39,   88,   25,  129, 
                    383: /* 3380 */    38,   37,   90,   21,  129,   40,   33,   93,   15,  129, 
                    384: /* 3390 */    42,   29,   96,    9,  129,   45,   24,  129,   49,   16, 
                    385: /* 3400 */   129,  193,  129,   63,   25,  129,   57,   37,  129,   53, 
                    386: /* 3410 */    45,  129,   50,   51,  129,   47,   57,  129,   45,   61, 
                    387: /* 3420 */   129,   43,   65,  129,   41,   69,  129,   39,   73,  129, 
                    388: /* 3430 */    38,   25,   92,   21,  129,   36,   21,   97,   18,  129, 
                    389: /* 3440 */    35,   18,  102,   14,  129,   34,   16,  106,   11,  129, 
                    390: /* 3450 */    33,   14,  108,   10,  129,   32,   12,  111,    8,  129, 
                    391: /* 3460 */    32,   10,  113,    6,  129,   31,   10,  114,    6,  129, 
                    392: /* 3470 */    31,    8,  115,    5,  129,   30,    8,  116,    5,  129, 
                    393: /* 3480 */    30,    7,  116,    5,  129,   30,    6,  117,    4,  130, 
                    394: /* 3490 */    30,    5,  117,    4,  131,   31,    4,  116,    5,  129, 
                    395: /* 3500 */    32,    4,  116,    4,  129,   32,    5,  115,    5,  129, 
                    396: /* 3510 */    33,    4,  114,    5,  129,   34,    4,  112,    6,  129, 
                    397: /* 3520 */    35,    4,  110,    7,  129,   37,    4,  107,    9,  129, 
                    398: /* 3530 */    39,    4,  103,   12,  129,   41,    4,  103,   18,  129, 
                    399: /* 3540 */    43,    4,  103,   18,  129,   45,    5,  103,   18,  129, 
                    400: /* 3550 */    48,    5,  103,   18,  129,   51,    1,  129,  193,  129, 
                    401: /* 3560 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
                    402: /* 3570 */   117,    4,  135,   30,    5,  116,    5,  130,   30,    6, 
                    403: /* 3580 */   115,    6,  130,   31,    6,  114,    6,  129,   31,    7, 
                    404: /* 3590 */   113,    7,  129,   32,    7,  112,    7,  129,   32,    8, 
                    405: /* 3600 */   111,    8,  129,   33,    9,  109,    9,  129,   33,   12, 
                    406: /* 3610 */   106,   12,  129,   34,   13,  104,   13,  129,   35,   15, 
                    407: /* 3620 */   101,   15,  129,   36,   19,   96,   19,  129,   37,   24, 
                    408: /* 3630 */    90,   24,  129,   39,   73,  129,   40,   71,  129,   42, 
                    409: /* 3640 */    67,  129,   44,   63,  129,   46,   59,  129,   49,   53, 
                    410: /* 3650 */   129,   52,   47,  129,   56,   39,  129,   61,   29,  129, 
                    411: /* 3660 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  137, 
                    412: /* 3670 */    30,    4,   80,    4,  117,    4,  140,   30,    4,   79, 
                    413: /* 3680 */     6,  117,    4,  129,   30,    4,   77,   10,  117,    4, 
                    414: /* 3690 */   129,   30,    4,   73,   18,  117,    4,  132,   30,    4, 
                    415: /* 3700 */   117,    4,  130,   30,    5,  116,    5,  130,   30,    7, 
                    416: /* 3710 */   114,    7,  129,   30,    8,  113,    8,  129,   30,   11, 
                    417: /* 3720 */   110,   11,  129,   30,   18,  103,   18,  132,  193,  129, 
                    418: /* 3730 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
                    419: /* 3740 */    80,    4,  117,    4,  132,   80,    4,  117,    4,  136, 
                    420: /* 3750 */    79,    6,  117,    4,  129,   77,   10,  117,    4,  129, 
                    421: /* 3760 */    73,   18,  117,    4,  132,  117,    4,  130,  116,    5, 
                    422: /* 3770 */   130,  114,    7,  129,  113,    8,  129,  110,   11,  129, 
                    423: /* 3780 */   103,   18,  132,  193,  129,   63,   25,  129,   57,   37, 
                    424: /* 3790 */   129,   53,   45,  129,   50,   51,  129,   47,   57,  129, 
                    425: /* 3800 */    45,   61,  129,   43,   65,  129,   41,   69,  129,   39, 
                    426: /* 3810 */    73,  129,   38,   25,   92,   21,  129,   36,   21,   97, 
                    427: /* 3820 */    18,  129,   35,   18,  102,   14,  129,   34,   16,  106, 
                    428: /* 3830 */    11,  129,   33,   14,  108,   10,  129,   32,   12,  111, 
                    429: /* 3840 */     8,  129,   32,   10,  113,    6,  129,   31,   10,  114, 
                    430: /* 3850 */     6,  129,   31,    8,  115,    5,  129,   30,    8,  116, 
                    431: /* 3860 */     5,  129,   30,    7,  116,    5,  129,   30,    6,  117, 
                    432: /* 3870 */     4,  130,   30,    5,  117,    4,  131,   30,    5,   75, 
                    433: /* 3880 */     4,  116,    5,  129,   31,    5,   75,    4,  116,    4, 
                    434: /* 3890 */   129,   31,    6,   75,    4,  115,    5,  129,   32,    7, 
                    435: /* 3900 */    75,    4,  114,    5,  129,   32,    9,   75,    4,  112, 
                    436: /* 3910 */     6,  129,   33,   11,   75,    4,  110,    7,  129,   34, 
                    437: /* 3920 */    15,   75,    4,  107,    9,  129,   35,   44,  103,   12, 
                    438: /* 3930 */   129,   36,   43,  103,   18,  129,   38,   41,  103,   18, 
                    439: /* 3940 */   129,   39,   40,  103,   18,  129,   41,   38,  103,   18, 
                    440: /* 3950 */   129,   44,   35,  129,   48,   31,  129,   52,   27,  129, 
                    441: /* 3960 */    61,   18,  129,  193,  129,   30,    4,  117,    4,  132, 
                    442: /* 3970 */    30,   91,  137,   30,    4,   80,    4,  117,    4,  132, 
                    443: /* 3980 */    80,    4,  140,   30,    4,   80,    4,  117,    4,  132, 
                    444: /* 3990 */    30,   91,  137,   30,    4,  117,    4,  132,  193,  129, 
                    445: /* 4000 */    30,    4,  117,    4,  132,   30,   91,  137,   30,    4, 
                    446: /* 4010 */   117,    4,  132,  193,  129,   44,    7,  129,   40,   13, 
                    447: /* 4020 */   129,   37,   17,  129,   35,   20,  129,   34,   22,  129, 
                    448: /* 4030 */    33,   23,  129,   32,   24,  129,   32,   23,  129,   31, 
                    449: /* 4040 */     6,   41,   13,  129,   31,    5,   42,   11,  129,   30, 
                    450: /* 4050 */     5,   44,    7,  129,   30,    4,  132,   30,    5,  130, 
                    451: /* 4060 */    31,    5,  129,   31,    6,  117,    4,  129,   31,    8, 
                    452: /* 4070 */   117,    4,  129,   32,    9,  117,    4,  129,   33,   11, 
                    453: /* 4080 */   117,    4,  129,   34,   87,  129,   35,   86,  129,   36, 
                    454: /* 4090 */    85,  129,   37,   84,  129,   38,   83,  129,   40,   81, 
                    455: /* 4100 */   129,   42,   79,  129,   45,   76,  129,   50,   71,  129, 
                    456: /* 4110 */   117,    4,  132,  193,  129,   30,    4,  117,    4,  132, 
                    457: /* 4120 */    30,   91,  137,   30,    4,   76,    8,  117,    4,  129, 
                    458: /* 4130 */    30,    4,   73,   13,  117,    4,  129,   30,    4,   70, 
                    459: /* 4140 */    18,  117,    4,  129,   30,    4,   67,   23,  117,    4, 
                    460: /* 4150 */   129,   65,   26,  129,   62,   31,  129,   59,   35,  129, 
                    461: /* 4160 */    56,   29,   89,    7,  129,   53,   29,   91,    7,  129, 
                    462: /* 4170 */    50,   29,   93,    7,  129,   47,   29,   95,    6,  129, 
                    463: /* 4180 */    30,    4,   45,   29,   96,    7,  129,   30,    4,   42, 
                    464: /* 4190 */    29,   98,    7,  129,   30,    4,   39,   30,  100,    6, 
                    465: /* 4200 */   129,   30,    4,   36,   30,  101,    7,  129,   30,   33, 
                    466: /* 4210 */   103,    7,  117,    4,  129,   30,   30,  105,    6,  117, 
                    467: /* 4220 */     4,  129,   30,   27,  106,    7,  117,    4,  129,   30, 
                    468: /* 4230 */    25,  108,    7,  117,    4,  129,   30,   22,  110,   11, 
                    469: /* 4240 */   129,   30,   19,  111,   10,  129,   30,   16,  113,    8, 
                    470: /* 4250 */   129,   30,   13,  115,    6,  129,   30,   11,  116,    5, 
                    471: /* 4260 */   129,   30,    8,  117,    4,  129,   30,    5,  117,    4, 
                    472: /* 4270 */   129,   30,    4,  117,    4,  130,   30,    4,  130,  193, 
                    473: /* 4280 */   129,   30,    4,  117,    4,  132,   30,   91,  137,   30, 
                    474: /* 4290 */     4,  117,    4,  132,   30,    4,  144,   30,    5,  130, 
                    475: /* 4300 */    30,    7,  129,   30,    8,  129,   30,   11,  129,   30, 
                    476: /* 4310 */    18,  132,  193,  129,   30,    4,  117,    4,  132,   30, 
                    477: /* 4320 */    91,  132,   30,    4,  103,   18,  129,   30,    4,   97, 
                    478: /* 4330 */    24,  129,   30,    4,   92,   29,  129,   30,    4,   87, 
                    479: /* 4340 */    34,  129,   81,   40,  129,   76,   45,  129,   70,   49, 
                    480: /* 4350 */   129,   65,   49,  129,   60,   49,  129,   55,   49,  129, 
                    481: /* 4360 */    50,   48,  129,   44,   49,  129,   39,   48,  129,   33, 
                    482: /* 4370 */    49,  129,   30,   47,  129,   34,   37,  129,   40,   26, 
                    483: /* 4380 */   129,   46,   19,  129,   52,   19,  129,   58,   19,  129, 
                    484: /* 4390 */    64,   19,  129,   70,   19,  129,   76,   19,  129,   82, 
                    485: /* 4400 */    19,  129,   30,    4,   88,   18,  129,   30,    4,   94, 
                    486: /* 4410 */    18,  129,   30,    4,  100,   18,  129,   30,    4,  106, 
                    487: /* 4420 */    15,  129,   30,   91,  137,   30,    4,  117,    4,  132, 
                    488: /* 4430 */   193,  129,   30,    4,  117,    4,  132,   30,   91,  132, 
                    489: /* 4440 */    30,    4,  107,   14,  129,   30,    4,  104,   17,  129, 
                    490: /* 4450 */    30,    4,  101,   20,  129,   30,    4,   99,   22,  129, 
                    491: /* 4460 */    96,   25,  129,   93,   28,  129,   91,   28,  129,   88, 
                    492: /* 4470 */    29,  129,   85,   29,  129,   82,   29,  129,   79,   29, 
                    493: /* 4480 */   129,   76,   29,  129,   74,   29,  129,   71,   29,  129, 
                    494: /* 4490 */    68,   29,  129,   65,   29,  129,   62,   29,  129,   60, 
                    495: /* 4500 */    29,  129,   57,   29,  129,   54,   29,  129,   51,   29, 
                    496: /* 4510 */   129,   49,   28,  129,   46,   29,  129,   43,   29,  129, 
                    497: /* 4520 */    40,   29,  117,    4,  129,   37,   29,  117,    4,  129, 
                    498: /* 4530 */    35,   29,  117,    4,  129,   32,   29,  117,    4,  129, 
                    499: /* 4540 */    30,   91,  132,  117,    4,  132,  193,  129,   63,   25, 
                    500: /* 4550 */   129,   57,   37,  129,   53,   45,  129,   50,   51,  129, 
                    501: /* 4560 */    47,   57,  129,   45,   61,  129,   43,   65,  129,   41, 
                    502: /* 4570 */    69,  129,   39,   73,  129,   38,   21,   92,   21,  129, 
                    503: /* 4580 */    36,   18,   97,   18,  129,   35,   14,  102,   14,  129, 
                    504: /* 4590 */    34,   11,  106,   11,  129,   33,   10,  108,   10,  129, 
                    505: /* 4600 */    32,    8,  111,    8,  129,   32,    6,  113,    6,  129, 
                    506: /* 4610 */    31,    6,  114,    6,  129,   31,    5,  115,    5,  129, 
                    507: /* 4620 */    30,    5,  116,    5,  130,   30,    4,  117,    4,  132, 
                    508: /* 4630 */    30,    5,  116,    5,  130,   31,    5,  115,    5,  129, 
                    509: /* 4640 */    31,    6,  114,    6,  129,   32,    6,  113,    6,  129, 
                    510: /* 4650 */    32,    8,  111,    8,  129,   33,   10,  108,   10,  129, 
                    511: /* 4660 */    34,   11,  106,   11,  129,   35,   14,  102,   14,  129, 
                    512: /* 4670 */    36,   18,   97,   18,  129,   38,   21,   92,   21,  129, 
                    513: /* 4680 */    39,   73,  129,   41,   69,  129,   43,   65,  129,   45, 
                    514: /* 4690 */    61,  129,   47,   57,  129,   50,   51,  129,   53,   45, 
                    515: /* 4700 */   129,   57,   37,  129,   63,   25,  129,  193,  129,   30, 
                    516: /* 4710 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   80, 
                    517: /* 4720 */     4,  117,    4,  132,   80,    4,  117,    4,  134,   80, 
                    518: /* 4730 */     5,  116,    5,  131,   80,    6,  115,    6,  130,   81, 
                    519: /* 4740 */     6,  114,    6,  129,   81,    8,  112,    8,  129,   81, 
                    520: /* 4750 */     9,  111,    9,  129,   82,   10,  109,   10,  129,   82, 
                    521: /* 4760 */    13,  106,   13,  129,   83,   35,  129,   84,   33,  129, 
                    522: /* 4770 */    85,   31,  129,   86,   29,  129,   88,   25,  129,   90, 
                    523: /* 4780 */    21,  129,   93,   15,  129,   96,    9,  129,  193,  129, 
                    524: /* 4790 */    63,   25,  129,   57,   37,  129,   53,   45,  129,   50, 
                    525: /* 4800 */    51,  129,   47,   57,  129,   45,   61,  129,   43,   65, 
                    526: /* 4810 */   129,   41,   69,  129,   39,   73,  129,   38,   21,   92, 
                    527: /* 4820 */    21,  129,   36,   18,   97,   18,  129,   35,   14,  102, 
                    528: /* 4830 */    14,  129,   34,   11,  106,   11,  129,   33,   10,  108, 
                    529: /* 4840 */    10,  129,   32,    8,  111,    8,  129,   32,    6,  113, 
                    530: /* 4850 */     6,  129,   31,    6,  114,    6,  129,   31,    5,  115, 
                    531: /* 4860 */     5,  129,   30,    5,  116,    5,  130,   30,    4,   39, 
                    532: /* 4870 */     2,  117,    4,  129,   30,    4,   40,    4,  117,    4, 
                    533: /* 4880 */   129,   30,    4,   41,    5,  117,    4,  129,   30,    4, 
                    534: /* 4890 */    41,    6,  117,    4,  129,   30,    5,   40,    8,  116, 
                    535: /* 4900 */     5,  129,   30,    5,   39,   10,  116,    5,  129,   31, 
                    536: /* 4910 */     5,   38,   11,  115,    5,  129,   31,   18,  114,    6, 
                    537: /* 4920 */   129,   32,   17,  113,    6,  129,   32,   16,  111,    8, 
                    538: /* 4930 */   129,   33,   15,  108,   10,  129,   33,   14,  106,   11, 
                    539: /* 4940 */   129,   32,   17,  102,   14,  129,   31,   23,   97,   18, 
                    540: /* 4950 */   129,   31,   28,   92,   21,  129,   30,   82,  129,   30, 
                    541: /* 4960 */    80,  129,   30,   11,   43,   65,  129,   30,   10,   45, 
                    542: /* 4970 */    61,  129,   31,    8,   47,   57,  129,   32,    6,   50, 
                    543: /* 4980 */    51,  129,   33,    5,   53,   45,  129,   35,    4,   57, 
                    544: /* 4990 */    37,  129,   38,    2,   63,   25,  129,  193,  129,   30, 
                    545: /* 5000 */     4,  117,    4,  132,   30,   91,  137,   30,    4,   76, 
                    546: /* 5010 */     8,  117,    4,  129,   30,    4,   73,   11,  117,    4, 
                    547: /* 5020 */   129,   30,    4,   70,   14,  117,    4,  129,   30,    4, 
                    548: /* 5030 */    67,   17,  117,    4,  129,   65,   19,  117,    4,  129, 
                    549: /* 5040 */    62,   22,  117,    4,  129,   59,   25,  117,    4,  129, 
                    550: /* 5050 */    56,   28,  117,    4,  129,   53,   31,  117,    4,  129, 
                    551: /* 5060 */    50,   34,  117,    4,  129,   47,   29,   80,    5,  116, 
                    552: /* 5070 */     5,  129,   30,    4,   45,   29,   80,    5,  116,    5, 
                    553: /* 5080 */   129,   30,    4,   42,   29,   80,    5,  116,    5,  129, 
                    554: /* 5090 */    30,    4,   39,   30,   80,    6,  115,    6,  129,   30, 
                    555: /* 5100 */     4,   36,   30,   80,    6,  115,    6,  129,   30,   33, 
                    556: /* 5110 */    81,    6,  114,    6,  129,   30,   30,   81,    8,  112, 
                    557: /* 5120 */     8,  129,   30,   27,   81,    9,  111,    9,  129,   30, 
                    558: /* 5130 */    25,   82,   10,  109,   10,  129,   30,   22,   82,   13, 
                    559: /* 5140 */   106,   13,  129,   30,   19,   83,   35,  129,   30,   16, 
                    560: /* 5150 */    84,   33,  129,   30,   13,   85,   31,  129,   30,   11, 
                    561: /* 5160 */    86,   29,  129,   30,    8,   88,   25,  129,   30,    5, 
                    562: /* 5170 */    90,   21,  129,   30,    4,   93,   15,  129,   30,    4, 
                    563: /* 5180 */    96,    9,  129,   30,    4,  130,  193,  129,   30,   18, 
                    564: /* 5190 */   130,   30,   18,   89,   15,  129,   30,   18,   85,   23, 
                    565: /* 5200 */   129,   34,   11,   83,   27,  129,   34,    9,   81,   31, 
                    566: /* 5210 */   129,   33,    8,   79,   35,  129,   33,    6,   78,   16, 
                    567: /* 5220 */   106,    9,  129,   32,    6,   77,   15,  109,    7,  129, 
                    568: /* 5230 */    32,    5,   76,   14,  111,    6,  129,   31,    5,   75, 
                    569: /* 5240 */    14,  113,    5,  129,   31,    4,   74,   15,  114,    5, 
                    570: /* 5250 */   129,   31,    4,   74,   14,  115,    4,  129,   30,    4, 
                    571: /* 5260 */    73,   15,  116,    4,  129,   30,    4,   73,   14,  116, 
                    572: /* 5270 */     4,  129,   30,    4,   73,   14,  117,    4,  129,   30, 
                    573: /* 5280 */     4,   72,   15,  117,    4,  130,   30,    4,   71,   15, 
                    574: /* 5290 */   117,    4,  130,   30,    4,   70,   15,  117,    4,  129, 
                    575: /* 5300 */    30,    5,   70,   15,  117,    4,  129,   30,    5,   69, 
                    576: /* 5310 */    15,  116,    5,  129,   30,    6,   68,   16,  115,    5, 
                    577: /* 5320 */   129,   31,    6,   67,   16,  114,    6,  129,   31,    7, 
                    578: /* 5330 */    66,   17,  113,    6,  129,   32,    7,   64,   18,  111, 
                    579: /* 5340 */     8,  129,   32,    8,   62,   19,  109,    9,  129,   33, 
                    580: /* 5350 */     9,   60,   20,  107,   10,  129,   34,   11,   57,   22, 
                    581: /* 5360 */   103,   13,  129,   35,   43,  103,   18,  129,   36,   41, 
                    582: /* 5370 */   103,   18,  129,   38,   38,  103,   18,  129,   39,   35, 
                    583: /* 5380 */   103,   18,  129,   41,   31,  129,   43,   27,  129,   46, 
                    584: /* 5390 */    22,  129,   49,   14,  129,  193,  129,  103,   18,  132, 
                    585: /* 5400 */   110,   11,  129,  113,    8,  129,  114,    7,  129,  116, 
                    586: /* 5410 */     5,  130,  117,    4,  132,   30,    4,  117,    4,  132, 
                    587: /* 5420 */    30,   91,  137,   30,    4,  117,    4,  132,  117,    4, 
                    588: /* 5430 */   132,  116,    5,  130,  114,    7,  129,  113,    8,  129, 
                    589: /* 5440 */   110,   11,  129,  103,   18,  132,  193,  129,  117,    4, 
                    590: /* 5450 */   132,   56,   65,  129,   50,   71,  129,   46,   75,  129, 
                    591: /* 5460 */    44,   77,  129,   42,   79,  129,   40,   81,  129,   38, 
                    592: /* 5470 */    83,  129,   36,   85,  129,   35,   86,  129,   34,   20, 
                    593: /* 5480 */   117,    4,  129,   33,   17,  117,    4,  129,   32,   15, 
                    594: /* 5490 */   117,    4,  129,   32,   13,  117,    4,  129,   31,   12, 
                    595: /* 5500 */   129,   31,   10,  129,   31,    9,  129,   30,    9,  129, 
                    596: /* 5510 */    30,    8,  130,   30,    7,  132,   31,    6,  130,   31, 
                    597: /* 5520 */     7,  129,   32,    6,  129,   32,    7,  129,   33,    7, 
                    598: /* 5530 */   129,   34,    7,  129,   35,    8,  129,   36,    9,  117, 
                    599: /* 5540 */     4,  129,   38,    9,  117,    4,  129,   40,   10,  117, 
                    600: /* 5550 */     4,  129,   42,   12,  117,    4,  129,   44,   77,  129, 
                    601: /* 5560 */    46,   75,  129,   50,   71,  129,   56,   43,  100,   21, 
                    602: /* 5570 */   129,  117,    4,  132,  193,  129,  117,    4,  132,  115, 
                    603: /* 5580 */     6,  129,  110,   11,  129,  105,   16,  129,  101,   20, 
                    604: /* 5590 */   129,   96,   25,  129,   92,   29,  129,   87,   34,  129, 
                    605: /* 5600 */    83,   38,  129,   78,   43,  129,   74,   47,  129,   70, 
                    606: /* 5610 */    42,  117,    4,  129,   65,   42,  117,    4,  129,   60, 
                    607: /* 5620 */    43,  117,    4,  129,   56,   42,  129,   51,   42,  129, 
                    608: /* 5630 */    46,   43,  129,   42,   43,  129,   37,   44,  129,   33, 
                    609: /* 5640 */    43,  129,   30,   42,  129,   33,   34,  129,   38,   25, 
                    610: /* 5650 */   129,   42,   16,  129,   47,   15,  129,   52,   15,  129, 
                    611: /* 5660 */    57,   15,  129,   61,   16,  129,   66,   16,  129,   71, 
                    612: /* 5670 */    16,  129,   76,   16,  129,   80,   16,  129,   85,   16, 
                    613: /* 5680 */   117,    4,  129,   90,   16,  117,    4,  129,   95,   16, 
                    614: /* 5690 */   117,    4,  129,  100,   21,  129,  105,   16,  129,  110, 
                    615: /* 5700 */    11,  129,  114,    7,  129,  117,    4,  132,  193,  129, 
                    616: /* 5710 */   117,    4,  132,  115,    6,  129,  110,   11,  129,  105, 
                    617: /* 5720 */    16,  129,  101,   20,  129,   96,   25,  129,   92,   29, 
                    618: /* 5730 */   129,   87,   34,  129,   83,   38,  129,   78,   43,  129, 
                    619: /* 5740 */    74,   47,  129,   70,   42,  117,    4,  129,   65,   42, 
                    620: /* 5750 */   117,    4,  129,   60,   43,  117,    4,  129,   56,   42, 
                    621: /* 5760 */   129,   51,   42,  129,   46,   43,  129,   42,   43,  129, 
                    622: /* 5770 */    37,   44,  129,   33,   43,  129,   30,   42,  129,   33, 
                    623: /* 5780 */    34,  129,   38,   25,  129,   42,   16,  129,   47,   15, 
                    624: /* 5790 */   129,   52,   15,  129,   57,   15,  129,   61,   16,  129, 
                    625: /* 5800 */    65,   17,  129,   60,   27,  129,   56,   36,  129,   51, 
                    626: /* 5810 */    42,  129,   46,   43,  129,   42,   43,  129,   37,   44, 
                    627: /* 5820 */   129,   33,   43,  129,   30,   42,  129,   33,   34,  129, 
                    628: /* 5830 */    38,   25,  129,   42,   16,  129,   47,   15,  129,   52, 
                    629: /* 5840 */    15,  129,   57,   15,  129,   61,   16,  129,   66,   16, 
                    630: /* 5850 */   129,   71,   16,  129,   76,   16,  129,   80,   16,  129, 
                    631: /* 5860 */    85,   16,  117,    4,  129,   90,   16,  117,    4,  129, 
                    632: /* 5870 */    95,   16,  117,    4,  129,  100,   21,  129,  105,   16, 
                    633: /* 5880 */   129,  110,   11,  129,  114,    7,  129,  117,    4,  132, 
                    634: /* 5890 */   193,  129,   30,    4,  117,    4,  132,   30,    4,  115, 
                    635: /* 5900 */     6,  129,   30,    4,  112,    9,  129,   30,    6,  109, 
                    636: /* 5910 */    12,  129,   30,    9,  106,   15,  129,   30,   11,  103, 
                    637: /* 5920 */    18,  129,   30,   14,  100,   21,  129,   30,    4,   38, 
                    638: /* 5930 */     9,   98,   23,  129,   30,    4,   40,   10,   95,   26, 
                    639: /* 5940 */   129,   30,    4,   43,    9,   92,   29,  129,   46,    9, 
                    640: /* 5950 */    89,   32,  129,   49,    8,   86,   28,  117,    4,  129, 
                    641: /* 5960 */    51,    9,   83,   28,  117,    4,  129,   54,    9,   80, 
                    642: /* 5970 */    28,  117,    4,  129,   57,    8,   77,   28,  117,    4, 
                    643: /* 5980 */   129,   59,    9,   74,   28,  129,   62,   37,  129,   64, 
                    644: /* 5990 */    33,  129,   66,   28,  129,   63,   28,  129,   60,   28, 
                    645: /* 6000 */   129,   57,   28,  129,   54,   33,  129,   51,   39,  129, 
                    646: /* 6010 */    48,   29,   83,    9,  129,   30,    4,   45,   29,   86, 
                    647: /* 6020 */     9,  129,   30,    4,   42,   29,   89,    9,  129,   30, 
                    648: /* 6030 */     4,   39,   29,   92,    8,  129,   30,    4,   36,   29, 
                    649: /* 6040 */    94,    9,  129,   30,   32,   97,    9,  129,   30,   29, 
                    650: /* 6050 */   100,    8,  117,    4,  129,   30,   26,  103,    8,  117, 
                    651: /* 6060 */     4,  129,   30,   23,  105,    9,  117,    4,  129,   30, 
                    652: /* 6070 */    20,  108,   13,  129,   30,   18,  111,   10,  129,   30, 
                    653: /* 6080 */    15,  113,    8,  129,   30,   12,  116,    5,  129,   30, 
                    654: /* 6090 */     9,  117,    4,  129,   30,    6,  117,    4,  129,   30, 
                    655: /* 6100 */     4,  117,    4,  132,  193,  129,  117,    4,  132,  114, 
                    656: /* 6110 */     7,  129,  111,   10,  129,  108,   13,  129,  105,   16, 
                    657: /* 6120 */   129,  102,   19,  129,  100,   21,  129,   96,   25,  129, 
                    658: /* 6130 */    93,   28,  129,   90,   31,  129,   87,   34,  129,   84, 
                    659: /* 6140 */    30,  117,    4,  129,   30,    4,   81,   30,  117,    4, 
                    660: /* 6150 */   129,   30,    4,   78,   30,  117,    4,  129,   30,    4, 
                    661: /* 6160 */    75,   30,  117,    4,  129,   30,    4,   72,   30,  129, 
                    662: /* 6170 */    30,   69,  129,   30,   66,  129,   30,   63,  129,   30, 
                    663: /* 6180 */    60,  129,   30,   57,  129,   30,   54,  129,   30,   51, 
                    664: /* 6190 */   129,   30,   48,  129,   30,   51,  129,   30,    4,   73, 
                    665: /* 6200 */    12,  129,   30,    4,   76,   12,  129,   30,    4,   80, 
                    666: /* 6210 */    12,  129,   30,    4,   83,   12,  129,   87,   12,  129, 
                    667: /* 6220 */    90,   12,  117,    4,  129,   94,   11,  117,    4,  129, 
                    668: /* 6230 */    97,   12,  117,    4,  129,  101,   12,  117,    4,  129, 
                    669: /* 6240 */   104,   17,  129,  108,   13,  129,  111,   10,  129,  115, 
                    670: /* 6250 */     6,  129,  117,    4,  134,  193,  129,   30,    1,  103, 
                    671: /* 6260 */    18,  129,   30,    4,  103,   18,  129,   30,    7,  103, 
                    672: /* 6270 */    18,  129,   30,    9,  103,   18,  129,   30,   12,  110, 
                    673: /* 6280 */    11,  129,   30,   15,  113,    8,  129,   30,   18,  114, 
                    674: /* 6290 */     7,  129,   30,   21,  116,    5,  129,   30,   24,  116, 
                    675: /* 6300 */     5,  129,   30,   27,  117,    4,  129,   30,   30,  117, 
                    676: /* 6310 */     4,  129,   30,   33,  117,    4,  129,   30,    4,   37, 
                    677: /* 6320 */    28,  117,    4,  129,   30,    4,   40,   28,  117,    4, 
                    678: /* 6330 */   129,   30,    4,   42,   29,  117,    4,  129,   30,    4, 
                    679: /* 6340 */    45,   29,  117,    4,  129,   30,    4,   48,   29,  117, 
                    680: /* 6350 */     4,  129,   30,    4,   51,   29,  117,    4,  129,   30, 
                    681: /* 6360 */     4,   54,   29,  117,    4,  129,   30,    4,   57,   29, 
                    682: /* 6370 */   117,    4,  129,   30,    4,   59,   30,  117,    4,  129, 
                    683: /* 6380 */    30,    4,   62,   30,  117,    4,  129,   30,    4,   65, 
                    684: /* 6390 */    30,  117,    4,  129,   30,    4,   68,   30,  117,    4, 
                    685: /* 6400 */   129,   30,    4,   71,   30,  117,    4,  129,   30,    4, 
                    686: /* 6410 */    74,   30,  117,    4,  129,   30,    4,   77,   30,  117, 
                    687: /* 6420 */     4,  129,   30,    4,   80,   30,  117,    4,  129,   30, 
                    688: /* 6430 */     4,   83,   30,  117,    4,  129,   30,    4,   86,   35, 
                    689: /* 6440 */   129,   30,    4,   89,   32,  129,   30,    4,   91,   30, 
                    690: /* 6450 */   129,   30,    4,   94,   27,  129,   30,    5,   97,   24, 
                    691: /* 6460 */   129,   30,    5,  100,   21,  129,   30,    7,  103,   18, 
                    692: /* 6470 */   129,   30,    8,  106,   15,  129,   30,   11,  109,   12, 
                    693: /* 6480 */   129,   30,   18,  112,    9,  129,   30,   18,  115,    6, 
                    694: /* 6490 */   129,   30,   18,  117,    4,  129,   30,   18,  120,    1, 
                    695: /* 6500 */   129,  193,  129,   42,    8,  129,   38,   16,  129,   36, 
                    696: /* 6510 */    20,  129,   34,   24,   71,    5,  129,   33,   26,   69, 
                    697: /* 6520 */    10,  129,   32,   28,   68,   13,  129,   31,   30,   68, 
                    698: /* 6530 */    14,  129,   31,    9,   52,    9,   68,   15,  129,   30, 
                    699: /* 6540 */     8,   54,    8,   69,   14,  129,   30,    7,   55,    7, 
                    700: /* 6550 */    71,    4,   78,    6,  129,   30,    6,   56,    6,   79, 
                    701: /* 6560 */     5,  129,   30,    6,   56,    6,   80,    4,  130,   31, 
                    702: /* 6570 */     5,   56,    5,   80,    4,  129,   31,    5,   56,    5, 
                    703: /* 6580 */    79,    5,  129,   32,    5,   55,    5,   78,    6,  129, 
                    704: /* 6590 */    33,    5,   54,    5,   77,    7,  129,   34,    6,   52, 
                    705: /* 6600 */     6,   74,    9,  129,   35,   48,  129,   33,   49,  129, 
                    706: /* 6610 */    32,   49,  129,   31,   49,  129,   30,   49,  129,   30, 
                    707: /* 6620 */    47,  129,   30,   45,  129,   30,   41,  129,   30,    6, 
                    708: /* 6630 */   129,   30,    4,  129,   30,    3,  129,   30,    2,  129, 
                    709: /* 6640 */   193,  129,   30,    4,  117,    4,  130,   31,   90,  136, 
                    710: /* 6650 */    37,    5,   72,    5,  129,   35,    5,   74,    5,  129, 
                    711: /* 6660 */    33,    5,   76,    5,  129,   32,    5,   77,    5,  129, 
                    712: /* 6670 */    31,    5,   78,    5,  129,   31,    4,   79,    4,  129, 
                    713: /* 6680 */    30,    5,   79,    5,  131,   30,    6,   78,    6,  129, 
                    714: /* 6690 */    30,    7,   77,    7,  129,   31,    8,   75,    8,  129, 
                    715: /* 6700 */    31,   11,   72,   11,  129,   32,   15,   67,   15,  129, 
                    716: /* 6710 */    33,   48,  129,   34,   46,  129,   35,   44,  129,   37, 
                    717: /* 6720 */    40,  129,   39,   36,  129,   42,   30,  129,   46,   22, 
                    718: /* 6730 */   129,  193,  129,   48,   18,  129,   43,   28,  129,   41, 
                    719: /* 6740 */    32,  129,   39,   36,  129,   37,   40,  129,   35,   44, 
                    720: /* 6750 */   129,   34,   46,  129,   33,   13,   68,   13,  129,   32, 
                    721: /* 6760 */     9,   73,    9,  129,   32,    7,   75,    7,  129,   31, 
                    722: /* 6770 */     6,   77,    6,  129,   31,    5,   78,    5,  129,   30, 
                    723: /* 6780 */     5,   79,    5,  129,   30,    4,   80,    4,  133,   31, 
                    724: /* 6790 */     3,   79,    4,  129,   31,    4,   79,    4,  129,   32, 
                    725: /* 6800 */     3,   78,    4,  129,   32,    4,   76,    6,  129,   33, 
                    726: /* 6810 */     4,   74,    7,  129,   34,    4,   72,    8,  129,   35, 
                    727: /* 6820 */     5,   72,    7,  129,   37,    5,   73,    4,  129,   39, 
                    728: /* 6830 */     4,   74,    1,  129,  129,  193,  129,   46,   22,  129, 
                    729: /* 6840 */    42,   30,  129,   39,   36,  129,   37,   40,  129,   35, 
                    730: /* 6850 */    44,  129,   34,   46,  129,   33,   48,  129,   32,   15, 
                    731: /* 6860 */    67,   15,  129,   31,   11,   72,   11,  129,   31,    8, 
                    732: /* 6870 */    75,    8,  129,   30,    7,   77,    7,  129,   30,    6, 
                    733: /* 6880 */    78,    6,  129,   30,    5,   79,    5,  131,   31,    4, 
                    734: /* 6890 */    79,    4,  129,   31,    5,   78,    5,  129,   32,    5, 
                    735: /* 6900 */    77,    5,  129,   33,    5,   76,    5,  129,   35,    5, 
                    736: /* 6910 */    74,    5,  117,    4,  129,   37,    5,   72,    5,  117, 
                    737: /* 6920 */     4,  129,   30,   91,  136,   30,    4,  130,  193,  129, 
                    738: /* 6930 */    48,   18,  129,   43,   28,  129,   41,   32,  129,   39, 
                    739: /* 6940 */    36,  129,   37,   40,  129,   35,   44,  129,   34,   46, 
                    740: /* 6950 */   129,   33,   13,   55,    4,   68,   13,  129,   32,    9, 
                    741: /* 6960 */    55,    4,   73,    9,  129,   32,    7,   55,    4,   75, 
                    742: /* 6970 */     7,  129,   31,    6,   55,    4,   77,    6,  129,   31, 
                    743: /* 6980 */     5,   55,    4,   78,    5,  129,   30,    5,   55,    4, 
                    744: /* 6990 */    79,    5,  129,   30,    4,   55,    4,   80,    4,  132, 
                    745: /* 7000 */    30,    4,   55,    4,   79,    5,  129,   31,    3,   55, 
                    746: /* 7010 */     4,   78,    5,  129,   31,    4,   55,    4,   77,    6, 
                    747: /* 7020 */   129,   32,    3,   55,    4,   75,    7,  129,   32,    4, 
                    748: /* 7030 */    55,    4,   73,    9,  129,   33,    4,   55,    4,   68, 
                    749: /* 7040 */    13,  129,   34,    4,   55,   25,  129,   35,    5,   55, 
                    750: /* 7050 */    24,  129,   37,    5,   55,   22,  129,   39,    4,   55, 
                    751: /* 7060 */    20,  129,   55,   18,  129,   55,   16,  129,   55,   11, 
                    752: /* 7070 */   129,  193,  129,   80,    4,  129,   30,    4,   80,    4, 
                    753: /* 7080 */   130,   30,   78,  129,   30,   82,  129,   30,   85,  129, 
                    754: /* 7090 */    30,   87,  129,   30,   88,  129,   30,   89,  129,   30, 
                    755: /* 7100 */    90,  130,   30,    4,   80,    4,  115,    6,  129,   30, 
                    756: /* 7110 */     4,   80,    4,  117,    4,  129,   80,    4,  105,    6, 
                    757: /* 7120 */   117,    4,  129,   80,    4,  103,   10,  116,    5,  129, 
                    758: /* 7130 */    80,    4,  102,   19,  129,   80,    4,  101,   19,  129, 
                    759: /* 7140 */   101,   19,  129,  101,   18,  129,  102,   16,  129,  103, 
                    760: /* 7150 */    12,  129,  105,    6,  129,  193,  129,   12,   10,   59, 
                    761: /* 7160 */    11,  129,    9,   16,   55,   19,  129,    7,   20,   53, 
                    762: /* 7170 */    23,  129,    6,    7,   23,    5,   32,    6,   51,   27, 
                    763: /* 7180 */   129,    4,    7,   25,   16,   50,   29,  129,    3,    6, 
                    764: /* 7190 */    27,   16,   49,   31,  129,    2,    6,   28,   16,   48, 
                    765: /* 7200 */    33,  129,    1,    6,   27,   18,   47,   35,  129,    1, 
                    766: /* 7210 */     6,   27,   31,   71,   12,  129,    1,    5,   26,   15, 
                    767: /* 7220 */    44,   10,   75,    8,  129,    1,    5,   25,   14,   45, 
                    768: /* 7230 */     7,   77,    7,  129,    1,    5,   25,   13,   45,    5, 
                    769: /* 7240 */    79,    5,  129,    1,    5,   24,   14,   45,    4,   80, 
                    770: /* 7250 */     4,  129,    1,    5,   24,   13,   45,    4,   80,    4, 
                    771: /* 7260 */   129,    1,    5,   23,   14,   45,    4,   80,    4,  129, 
                    772: /* 7270 */     1,    5,   23,   13,   45,    4,   80,    4,  129,    1, 
                    773: /* 7280 */     6,   22,   13,   45,    5,   79,    5,  129,    1,    6, 
                    774: /* 7290 */    21,   14,   45,    7,   77,    7,  129,    1,    7,   21, 
                    775: /* 7300 */    13,   46,    8,   75,    8,  129,    1,    8,   20,   13, 
                    776: /* 7310 */    46,   12,   71,   12,  129,    1,   10,   18,   15,   47, 
                    777: /* 7320 */    35,  129,    2,   30,   48,   33,  129,    3,   29,   49, 
                    778: /* 7330 */    32,  129,    4,   27,   50,   31,  129,    5,   25,   51, 
                    779: /* 7340 */    27,   80,    2,   86,    4,  129,    7,   21,   53,   23, 
                    780: /* 7350 */    80,    3,   85,    6,  129,    9,   17,   55,   19,   80, 
                    781: /* 7360 */    12,  129,   12,   12,   59,   11,   81,   11,  129,   82, 
                    782: /* 7370 */    10,  129,   84,    7,  129,   86,    4,  129,  193,  129, 
                    783: /* 7380 */    30,    4,  117,    4,  130,   30,   91,  136,   30,    4, 
                    784: /* 7390 */    72,    5,  129,   30,    4,   74,    5,  129,   75,    5, 
                    785: /* 7400 */   129,   76,    5,  129,   76,    6,  129,   77,    6,  130, 
                    786: /* 7410 */    77,    7,  130,   76,    8,  129,   30,    4,   75,    9, 
                    787: /* 7420 */   129,   30,    4,   72,   12,  129,   30,   54,  129,   30, 
                    788: /* 7430 */    53,  130,   30,   52,  129,   30,   51,  129,   30,   49, 
                    789: /* 7440 */   129,   30,   46,  129,   30,   42,  129,   30,    4,  130, 
                    790: /* 7450 */   193,  129,   30,    4,   80,    4,  129,   30,    4,   80, 
                    791: /* 7460 */     4,  100,    6,  129,   30,   54,   98,   10,  129,   30, 
                    792: /* 7470 */    54,   97,   12,  129,   30,   54,   96,   14,  131,   30, 
                    793: /* 7480 */    54,   97,   12,  129,   30,   54,   98,   10,  129,   30, 
                    794: /* 7490 */    54,  100,    6,  129,   30,    4,  130,  193,  129,    7, 
                    795: /* 7500 */     6,  129,    4,   11,  129,    3,   13,  129,    2,   14, 
                    796: /* 7510 */   129,    1,   15,  130,    1,    3,    6,    9,  129,    1, 
                    797: /* 7520 */     3,    7,    6,  129,    1,    3,  130,    1,    4,  129, 
                    798: /* 7530 */     1,    5,   80,    4,  129,    1,    7,   80,    4,  100, 
                    799: /* 7540 */     6,  129,    2,   82,   98,   10,  129,    3,   81,   97, 
                    800: /* 7550 */    12,  129,    4,   80,   96,   14,  129,    5,   79,   96, 
                    801: /* 7560 */    14,  129,    7,   77,   96,   14,  129,   10,   74,   97, 
                    802: /* 7570 */    12,  129,   14,   70,   98,   10,  129,   19,   65,  100, 
                    803: /* 7580 */     6,  129,  193,  129,   30,    4,  117,    4,  130,   30, 
                    804: /* 7590 */    91,  136,   30,    4,   57,    9,  129,   30,    4,   55, 
                    805: /* 7600 */    12,  129,   52,   17,  129,   50,   20,  129,   48,   24, 
                    806: /* 7610 */   129,   46,   27,  129,   44,   21,   69,    6,  129,   41, 
                    807: /* 7620 */    22,   70,    6,   80,    4,  129,   30,    4,   39,   21, 
                    808: /* 7630 */    72,    6,   80,    4,  129,   30,    4,   36,   22,   73, 
                    809: /* 7640 */    11,  129,   30,   26,   75,    9,  129,   30,   23,   76, 
                    810: /* 7650 */     8,  129,   30,   21,   78,    6,  129,   30,   19,   79, 
                    811: /* 7660 */     5,  129,   30,   16,   80,    4,  129,   30,   14,   80, 
                    812: /* 7670 */     4,  129,   30,   12,  129,   30,   10,  129,   30,    7, 
                    813: /* 7680 */   129,   30,    5,  129,   30,    4,  130,  193,  129,   30, 
                    814: /* 7690 */     4,  117,    4,  130,   30,   91,  136,   30,    4,  130, 
                    815: /* 7700 */   193,  129,   30,    4,   80,    4,  130,   30,   54,  136, 
                    816: /* 7710 */    30,    4,   72,    5,  129,   30,    4,   74,    5,  129, 
                    817: /* 7720 */    75,    5,  129,   76,    5,  129,   30,    4,   75,    7, 
                    818: /* 7730 */   129,   30,    4,   74,    9,  129,   30,   54,  132,   30, 
                    819: /* 7740 */    53,  129,   30,   52,  129,   30,   51,  129,   30,   48, 
                    820: /* 7750 */   129,   30,    4,   72,    5,  129,   30,    4,   74,    5, 
                    821: /* 7760 */   129,   75,    5,  129,   76,    5,  129,   30,    4,   75, 
                    822: /* 7770 */     7,  129,   30,    4,   74,    9,  129,   30,   54,  132, 
                    823: /* 7780 */    30,   53,  129,   30,   52,  129,   30,   51,  129,   30, 
                    824: /* 7790 */    48,  129,   30,    4,  130,  193,  129,   30,    4,   80, 
                    825: /* 7800 */     4,  130,   30,   54,  136,   30,    4,   72,    5,  129, 
                    826: /* 7810 */    30,    4,   74,    5,  129,   75,    5,  129,   76,    5, 
                    827: /* 7820 */   129,   76,    6,  129,   77,    6,  130,   77,    7,  130, 
                    828: /* 7830 */    76,    8,  129,   30,    4,   75,    9,  129,   30,    4, 
                    829: /* 7840 */    72,   12,  129,   30,   54,  129,   30,   53,  130,   30, 
                    830: /* 7850 */    52,  129,   30,   51,  129,   30,   49,  129,   30,   46, 
                    831: /* 7860 */   129,   30,   42,  129,   30,    4,  130,  193,  129,   48, 
                    832: /* 7870 */    18,  129,   43,   28,  129,   41,   32,  129,   39,   36, 
                    833: /* 7880 */   129,   37,   40,  129,   35,   44,  129,   34,   46,  129, 
                    834: /* 7890 */    33,   13,   68,   13,  129,   32,    9,   73,    9,  129, 
                    835: /* 7900 */    32,    7,   75,    7,  129,   31,    6,   77,    6,  129, 
                    836: /* 7910 */    31,    5,   78,    5,  129,   30,    5,   79,    5,  129, 
                    837: /* 7920 */    30,    4,   80,    4,  132,   30,    5,   79,    5,  130, 
                    838: /* 7930 */    31,    5,   78,    5,  129,   31,    6,   77,    6,  129, 
                    839: /* 7940 */    32,    7,   75,    7,  129,   32,    9,   73,    9,  129, 
                    840: /* 7950 */    33,   13,   68,   13,  129,   34,   46,  129,   35,   44, 
                    841: /* 7960 */   129,   37,   40,  129,   39,   36,  129,   41,   32,  129, 
                    842: /* 7970 */    43,   28,  129,   48,   18,  129,  193,  129,    1,    3, 
                    843: /* 7980 */    80,    4,  130,    1,   83,  137,   37,    5,   72,    5, 
                    844: /* 7990 */   129,   35,    5,   74,    5,  129,   33,    5,   76,    5, 
                    845: /* 8000 */   129,   32,    5,   77,    5,  129,   31,    5,   78,    5, 
                    846: /* 8010 */   129,   31,    4,   79,    4,  129,   30,    5,   79,    5, 
                    847: /* 8020 */   131,   30,    6,   78,    6,  129,   30,    7,   77,    7, 
                    848: /* 8030 */   129,   31,    8,   75,    8,  129,   31,   11,   72,   11, 
                    849: /* 8040 */   129,   32,   15,   67,   15,  129,   33,   48,  129,   34, 
                    850: /* 8050 */    46,  129,   35,   44,  129,   37,   40,  129,   39,   36, 
                    851: /* 8060 */   129,   42,   30,  129,   46,   22,  129,  193,  129,   46, 
                    852: /* 8070 */    22,  129,   42,   30,  129,   39,   36,  129,   37,   40, 
                    853: /* 8080 */   129,   35,   44,  129,   34,   46,  129,   33,   48,  129, 
                    854: /* 8090 */    32,   15,   67,   15,  129,   31,   11,   72,   11,  129, 
                    855: /* 8100 */    31,    8,   75,    8,  129,   30,    7,   77,    7,  129, 
                    856: /* 8110 */    30,    6,   78,    6,  129,   30,    5,   79,    5,  131, 
                    857: /* 8120 */    31,    4,   79,    4,  129,   31,    5,   78,    5,  129, 
                    858: /* 8130 */    32,    5,   77,    5,  129,   33,    5,   76,    5,  129, 
                    859: /* 8140 */    35,    5,   74,    5,  129,   37,    5,   72,    5,  129, 
                    860: /* 8150 */     1,   83,  136,    1,    3,   80,    4,  130,  193,  129, 
                    861: /* 8160 */    30,    4,   80,    4,  130,   30,   54,  136,   30,    4, 
                    862: /* 8170 */    68,    6,  129,   30,    4,   70,    6,  129,   71,    7, 
                    863: /* 8180 */   129,   72,    7,  129,   73,    7,  129,   74,    7,  129, 
                    864: /* 8190 */    74,    8,  129,   75,    8,  130,   69,   15,  129,   67, 
                    865: /* 8200 */    17,  129,   66,   18,  129,   65,   19,  130,   65,   18, 
                    866: /* 8210 */   130,   66,   16,  129,   67,   13,  129,   69,    8,  129, 
                    867: /* 8220 */   193,  129,   30,   13,   64,    8,  129,   30,   13,   61, 
                    868: /* 8230 */    14,  129,   30,   13,   59,   18,  129,   30,   13,   57, 
                    869: /* 8240 */    22,  129,   33,    8,   56,   24,  129,   32,    7,   55, 
                    870: /* 8250 */    26,  129,   32,    6,   54,   28,  129,   31,    6,   53, 
                    871: /* 8260 */    16,   77,    6,  129,   31,    5,   53,   14,   79,    4, 
                    872: /* 8270 */   129,   30,    5,   52,   14,   80,    4,  129,   30,    5, 
                    873: /* 8280 */    52,   13,   80,    4,  129,   30,    4,   52,   13,   80, 
                    874: /* 8290 */     4,  129,   30,    4,   52,   12,   80,    4,  129,   30, 
                    875: /* 8300 */     4,   51,   13,   80,    4,  130,   30,    4,   50,   13, 
                    876: /* 8310 */    79,    5,  129,   30,    4,   50,   13,   78,    5,  129, 
                    877: /* 8320 */    30,    5,   49,   14,   77,    6,  129,   31,    4,   49, 
                    878: /* 8330 */    13,   76,    6,  129,   31,    5,   48,   14,   75,    7, 
                    879: /* 8340 */   129,   32,    5,   47,   14,   73,    8,  129,   32,    6, 
                    880: /* 8350 */    45,   16,   71,   13,  129,   33,   27,   71,   13,  129, 
                    881: /* 8360 */    34,   26,   71,   13,  129,   35,   24,   71,   13,  129, 
                    882: /* 8370 */    37,   20,  129,   39,   16,  129,   43,    9,  129,  193, 
                    883: /* 8380 */   129,   80,    4,  131,   41,   56,  129,   37,   60,  129, 
                    884: /* 8390 */    35,   62,  129,   33,   64,  129,   32,   65,  129,   31, 
                    885: /* 8400 */    66,  129,   30,   67,  130,   30,   11,   80,    4,  129, 
                    886: /* 8410 */    30,    9,   80,    4,  129,   30,    8,   80,    4,  129, 
                    887: /* 8420 */    31,    7,   80,    4,  129,   31,    6,  129,   32,    5, 
                    888: /* 8430 */   129,   33,    5,  129,   35,    4,  129,   38,    3,  129, 
                    889: /* 8440 */   193,  129,   80,    4,  130,   42,   42,  129,   38,   46, 
                    890: /* 8450 */   129,   35,   49,  129,   33,   51,  129,   32,   52,  129, 
                    891: /* 8460 */    31,   53,  130,   30,   54,  129,   30,   12,  129,   30, 
                    892: /* 8470 */     9,  129,   30,    8,  129,   30,    7,  130,   31,    6, 
                    893: /* 8480 */   130,   32,    6,  129,   33,    5,  129,   34,    5,  129, 
                    894: /* 8490 */    35,    5,   80,    4,  129,   37,    5,   80,    4,  129, 
                    895: /* 8500 */    30,   54,  136,   30,    4,  130,  193,  129,   80,    4, 
                    896: /* 8510 */   130,   77,    7,  129,   74,   10,  129,   70,   14,  129, 
                    897: /* 8520 */    66,   18,  129,   62,   22,  129,   59,   25,  129,   55, 
                    898: /* 8530 */    29,  129,   51,   33,  129,   47,   37,  129,   44,   32, 
                    899: /* 8540 */    80,    4,  129,   40,   32,   80,    4,  129,   36,   32, 
                    900: /* 8550 */   129,   32,   33,  129,   30,   31,  129,   33,   24,  129, 
                    901: /* 8560 */    36,   17,  129,   40,   12,  129,   44,   12,  129,   48, 
                    902: /* 8570 */    12,  129,   51,   13,  129,   55,   13,  129,   59,   13, 
                    903: /* 8580 */    80,    4,  129,   63,   13,   80,    4,  129,   67,   17, 
                    904: /* 8590 */   129,   71,   13,  129,   74,   10,  129,   78,    6,  129, 
                    905: /* 8600 */    80,    4,  131,  193,  129,   80,    4,  130,   77,    7, 
                    906: /* 8610 */   129,   74,   10,  129,   70,   14,  129,   66,   18,  129, 
                    907: /* 8620 */    62,   22,  129,   59,   25,  129,   55,   29,  129,   51, 
                    908: /* 8630 */    33,  129,   47,   37,  129,   44,   32,   80,    4,  129, 
                    909: /* 8640 */    40,   32,   80,    4,  129,   36,   32,  129,   32,   33, 
                    910: /* 8650 */   129,   30,   31,  129,   33,   24,  129,   36,   17,  129, 
                    911: /* 8660 */    40,   12,  129,   44,   12,  129,   47,   13,  129,   44, 
                    912: /* 8670 */    20,  129,   40,   28,  129,   36,   31,  129,   32,   32, 
                    913: /* 8680 */   129,   30,   30,  129,   33,   24,  129,   36,   17,  129, 
                    914: /* 8690 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51, 
                    915: /* 8700 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129, 
                    916: /* 8710 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13, 
                    917: /* 8720 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131, 
                    918: /* 8730 */   193,  129,   30,    4,   80,    4,  130,   30,    4,   79, 
                    919: /* 8740 */     5,  129,   30,    5,   77,    7,  129,   30,    6,   74, 
                    920: /* 8750 */    10,  129,   30,    8,   72,   12,  129,   30,   11,   69, 
                    921: /* 8760 */    15,  129,   30,   13,   67,   17,  129,   30,    4,   37, 
                    922: /* 8770 */     8,   64,   20,  129,   30,    4,   39,    8,   62,   22, 
                    923: /* 8780 */   129,   41,    8,   59,   25,  129,   43,    8,   57,   27, 
                    924: /* 8790 */   129,   45,    8,   55,   22,   80,    4,  129,   47,   27, 
                    925: /* 8800 */    80,    4,  129,   49,   23,  129,   47,   22,  129,   44, 
                    926: /* 8810 */    23,  129,   42,   22,  129,   30,    4,   39,   27,  129, 
                    927: /* 8820 */    30,    4,   37,   31,  129,   30,   27,   62,    8,  129, 
                    928: /* 8830 */    30,   25,   64,    8,  129,   30,   22,   66,    8,   80, 
                    929: /* 8840 */     4,  129,   30,   20,   68,    8,   80,    4,  129,   30, 
                    930: /* 8850 */    17,   70,    8,   80,    4,  129,   30,   15,   73,   11, 
                    931: /* 8860 */   129,   30,   12,   75,    9,  129,   30,   10,   77,    7, 
                    932: /* 8870 */   129,   30,    7,   79,    5,  129,   30,    5,   80,    4, 
                    933: /* 8880 */   129,   30,    4,   80,    4,  130,  193,  129,    4,    5, 
                    934: /* 8890 */    80,    4,  129,    2,    9,   80,    4,  129,    1,   11, 
                    935: /* 8900 */    77,    7,  129,    1,   12,   74,   10,  129,    1,   12, 
                    936: /* 8910 */    70,   14,  129,    1,   12,   66,   18,  129,    1,   11, 
                    937: /* 8920 */    62,   22,  129,    2,    9,   59,   25,  129,    4,   11, 
                    938: /* 8930 */    55,   29,  129,    7,   12,   51,   33,  129,   10,   12, 
                    939: /* 8940 */    47,   37,  129,   14,   12,   44,   32,   80,    4,  129, 
                    940: /* 8950 */    17,   13,   40,   32,   80,    4,  129,   21,   13,   36, 
                    941: /* 8960 */    32,  129,   25,   40,  129,   29,   32,  129,   33,   24, 
                    942: /* 8970 */   129,   36,   17,  129,   40,   12,  129,   44,   12,  129, 
                    943: /* 8980 */    48,   12,  129,   51,   13,  129,   55,   13,  129,   59, 
                    944: /* 8990 */    13,   80,    4,  129,   63,   13,   80,    4,  129,   67, 
                    945: /* 9000 */    17,  129,   71,   13,  129,   74,   10,  129,   78,    6, 
                    946: /* 9010 */   129,   80,    4,  131,  193,  129,   30,    1,   71,   13, 
                    947: /* 9020 */   129,   30,    3,   71,   13,  129,   30,    6,   71,   13, 
                    948: /* 9030 */   129,   30,    9,   75,    9,  129,   30,   11,   77,    7, 
                    949: /* 9040 */   129,   30,   14,   79,    5,  129,   30,   17,   79,    5, 
                    950: /* 9050 */   129,   30,   19,   80,    4,  129,   30,   22,   80,    4, 
                    951: /* 9060 */   129,   30,   25,   80,    4,  129,   30,   27,   80,    4, 
                    952: /* 9070 */   129,   30,    4,   36,   24,   80,    4,  129,   30,    4, 
                    953: /* 9080 */    38,   25,   80,    4,  129,   30,    4,   41,   24,   80, 
                    954: /* 9090 */     4,  129,   30,    4,   44,   24,   80,    4,  129,   30, 
                    955: /* 9100 */     4,   46,   25,   80,    4,  129,   30,    4,   49,   25, 
                    956: /* 9110 */    80,    4,  129,   30,    4,   52,   24,   80,    4,  129, 
                    957: /* 9120 */    30,    4,   54,   30,  129,   30,    4,   57,   27,  129, 
                    958: /* 9130 */    30,    4,   59,   25,  129,   30,    4,   62,   22,  129, 
                    959: /* 9140 */    30,    4,   65,   19,  129,   30,    5,   67,   17,  129, 
                    960: /* 9150 */    30,    5,   70,   14,  129,   30,    7,   73,   11,  129, 
                    961: /* 9160 */    30,    9,   76,    8,  129,   30,   13,   78,    6,  129, 
                    962: /* 9170 */    30,   13,   81,    3,  129,   30,   13,  129,  193,    2, 
                    963: /* 9180 */     9,   59,   25,  129,    4,   11,   55,   29,  129,    7, 
                    964: /* 9190 */    12,   51,   33,  129,   10,   12,   47,   37,  129,   14, 
                    965: /* 9200 */    12,   44,   32,   80,    4,  129,   17,   13,   40,   32, 
                    966: /* 9210 */    80,    4,  129,   21,   13,   36,   32,  129,   25,   40, 
                    967: /* 9220 */   129,   29,   32,  129,   33,   24,  129,   36,   17,  129, 
                    968: /* 9230 */    40,   12,  129,   44,   12,  129,   48,   12,  129,   51, 
                    969: /* 9240 */    13,  129,   55,   13,  129,   59,   13,   80,    4,  129, 
                    970: /* 9250 */    63,   13,   80,    4,  129,   67,   17,  129,   71,   13, 
                    971: /* 9260 */   129,   74,   10,  129,   78,    6,  129,   80,    4,  131, 
                    972: /* 9270 */   193
                    973: };
                    974: 
                    975: FILE *fd;
                    976: int i,j,k;
                    977: char c;
                    978: int width = DWIDTH;    /* -w option: scrunch letters to 80 columns */
                    979: int debug;
                    980: int trace;
                    981: char line[DWIDTH];
                    982: char print[DWIDTH];
                    983: char message[MAXMSG];
                    984: char *messp;
                    985: int nchars;
                    986: int linen;
                    987: int x,y;
                    988: int term,dup;
                    989: int pc;
                    990: int max;
                    991: 
                    992: main(argc,argv)
                    993: int argc; 
                    994: char **argv;
                    995: { 
                    996:        if (argc > 1 && argv[1][0] == '-') {
                    997:                switch(argv[1][1]) {
                    998:                case 'w':
                    999:                        width = atoi(&argv[1][2]);
                   1000:                        if (width==0)
                   1001:                                width = 80;
                   1002:                        break;
                   1003:                case 'd':
                   1004:                        debug++;
                   1005:                        break;
                   1006:                case 't':
                   1007:                        trace++;
                   1008:                        break;
                   1009:                default:
                   1010:                        printf("bad switch %s\n",argv[1]);
                   1011:                        break;
                   1012:                }
                   1013:                argc--;
                   1014:                argv++;
                   1015:        }
                   1016: 
                   1017:        for (i=0; i<width; i++) {
                   1018:                j = i * 132 / width;
                   1019:                print[j] = 1;
                   1020:        }
                   1021: #ifdef notdef
                   1022:        fd = fopen(INDTBL, "r");
                   1023:        for (i=0; i<NCHARS; i++) {
                   1024:                fscanf(fd, "%d", &asc_ptr[i]);
                   1025:        }
                   1026:        fclose(fd);
                   1027: 
                   1028:        fd = fopen(OBJECT, "r");
                   1029:        fread(data_table, 1, NBYTES, fd);
                   1030:        fclose(fd);
                   1031: #endif
                   1032: 
                   1033:        /* Have now read in the data. Next get the message to be printed. */
                   1034:        if (argc > 1) {
                   1035:                strcpy(message, argv[1]);
                   1036:                for (i=2; i<argc; i++) {
                   1037:                        strcat(message, " ");
                   1038:                        strcat(message, argv[i]);
                   1039:                }
                   1040:        } else {
                   1041:                fprintf(stderr,"Message: ");
                   1042:                gets(message);
                   1043:        }
                   1044:        nchars = strlen(message);
                   1045: 
                   1046:        /* some debugging print statements */
                   1047:        if (debug) {
                   1048:                printf("int asc_ptr[128] = {\n");
                   1049:                for (i=0; i<128; i++) {
                   1050:                        printf("%4d,   ",asc_ptr[i]);
                   1051:                        if ((i+1) % 8 == 0)
                   1052:                                printf("\n");
                   1053:                }
                   1054:                printf("};\nchar data_table[NBYTES] = {\n");
                   1055:                printf("  /*   ");
                   1056:                for (i=0; i<10; i++) printf(" %3d  ",i);
                   1057:                printf("   */\n");
                   1058:                for (i=0; i<NBYTES; i += 10) {
                   1059:                        printf("/* %4d */  ",i);
                   1060:                        for (j=i; j<i+10; j++) { 
                   1061:                                x = data_table[j] & 0377;
                   1062:                                printf(" %3d, ",x);
                   1063:                        }
                   1064:                        putchar('\n');
                   1065:                }
                   1066:                printf("};\n");
                   1067:        }
                   1068: 
                   1069:        /* check message to make sure it's legal */
                   1070:        j = 0;
                   1071:        for (i=0; i<nchars; i++)
                   1072:                if (asc_ptr[message[i]] == 0) {
                   1073:                        printf("The character '%c' is not in my character set.\n",message[i]);
                   1074:                        j++;
                   1075:                }
                   1076:        if (j) exit(1);
                   1077: 
                   1078:        if (trace)
                   1079:                printf("Message '%s' is OK\n",message);
                   1080:        /* Now have message. Print it one character at a time.  */
                   1081: 
                   1082:        for (i=0; i<nchars; i++) {
                   1083:                if (trace)
                   1084:                        printf("Char #%d: %c\n", i, message[i]);
                   1085:                for (j=0; j<DWIDTH; j++) line[j] = ' ';
                   1086:                pc = asc_ptr[message[i]];
                   1087:                term = 0;
                   1088:                max = 0;
                   1089:                linen = 0;
                   1090:                while ( !term ) {
                   1091:                        if (pc<0 || pc > NBYTES) {
                   1092:                                printf("bad pc: %d\n",pc);
                   1093:                                exit(1);
                   1094:                        }
                   1095:                        x = data_table[pc] & 0377;
                   1096:                        if (trace)
                   1097:                                printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x);
                   1098:                        if (x >= 128) {
                   1099:                                if (x>192) term++;
                   1100:                                x = x & 63;
                   1101:                                while (x--) {
                   1102:                                        if (print[linen++]) {
                   1103:                                                for (j=0; j<=max; j++)
                   1104:                                                        if (print[j])
                   1105:                                                                putchar(line[j]);
                   1106:                                                putchar('\n');
                   1107:                                        }
                   1108:                                }
                   1109:                                for (j=0; j<DWIDTH; j++) line[j] = ' ';
                   1110:                                pc++;
                   1111:                        }
                   1112:                        else {
                   1113:                                y = data_table[pc+1];
                   1114:                                /* compensate for narrow teminals */
                   1115: #ifdef notdef
                   1116:                                x = (x*width + (DWIDTH/2)) / DWIDTH;
                   1117:                                y = (y*width + (DWIDTH/2)) / DWIDTH;
                   1118: #endif
                   1119:                                max = x+y;
                   1120:                                while (x < max) line[x++] = '#';
                   1121:                                pc += 2;
                   1122:                                if (trace)
                   1123:                                        printf("x=%d, y=%d, max=%d\n",x,y,max);
                   1124:                        }
                   1125:                }
                   1126:        }
                   1127: 
                   1128:        exit(0);
                   1129: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.