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