Bug Summary

File:src/games/banner/banner.c
Warning:line 1143, column 2
Value stored to 'argc' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name banner.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 1 -pic-is-pie -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/src/games/banner/obj -resource-dir /usr/local/lib/clang/13.0.0 -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir=/usr/src/games/banner/obj -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /home/ben/Projects/vmm/scan-build/2022-01-12-194120-40624-1 -x c /usr/src/games/banner/banner.c
1/* $OpenBSD: banner.c,v 1.23 2018/10/16 20:06:42 tb Exp $ */
2/* $NetBSD: banner.c,v 1.4 1995/04/22 11:55:15 cgd Exp $ */
3
4/*
5 * Copyright (c) 1980, 1993, 1994
6 * The Regents of the University of California. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. Neither the name of the University nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 */
32
33/*
34 * banner - prints large signs
35 * banner [-w width] [-d] [-t] message ...
36 */
37
38#include <err.h>
39#include <stdio.h>
40#include <stdlib.h>
41#include <string.h>
42#include <unistd.h>
43
44#define MAXMSG1024 1024
45#define DWIDTH132 132
46#define NCHARS128 128
47#define NBYTES9085 9085
48
49/* Pointers into data_table for each ASCII char */
50const int asc_ptr[NCHARS128] = {
51/* '\x00' */ 0, 0, 0, 0, 0, 0, 0, 0,
52/* '\x08' */ 0, 0, 0, 0, 0, 0, 0, 0,
53/* '\x10' */ 0, 0, 0, 0, 0, 0, 0, 0,
54/* '\x18' */ 0, 0, 0, 0, 0, 0, 0, 0,
55/* ' ' */ 1, 2, 48, 78, 100, 276, 477, 582,
56/* '(' */ 612, 675, 738, 836, 846, 876, 880, 902,
57/* '0' */ 999, 1129, 1178, 1396, 1570, 1714, 1903, 2079,
58/* '8' */ 2202, 2411, 2587, 2623, 0, 2671, 0, 2677,
59/* '@' */ 2818, 3032, 3232, 3361, 3517, 3618, 3685, 3739,
60/* 'H' */ 3918, 3952, 3966, 4065, 4230, 4262, 4379, 4494,
61/* 'P' */ 4654, 4734, 4942, 5130, 5338, 5388, 5513, 5646,
62/* 'X' */ 5827, 6040, 6190, 0, 0, 0, 0, 0,
63/* '`' */ 48, 6435, 6573, 6663, 6765, 6857, 6999, 7082,
64/* 'h' */ 7304, 7375, 7421, 7505, 7609, 7621, 7715, 7786,
65/* 'p' */ 7894, 7984, 8074, 8135, 8293, 8353, 8418, 8514,
66/* 'x' */ 8640, 8795, 8922, 0, 0, 0, 0, 0,
67};
68
69/*
70 * Table of stuff to print. Format:
71 * 128+n -> print current line n times.
72 * 192+n -> print current line n times, and this is last byte of char.
73 * else, put m chars at position n (where m
74 * is the next elt in array) and goto second
75 * next element in array.
76 */
77const char data_table[NBYTES9085] = {
78 129,
79/* 1 ' ' */
80 227,
81/* 2 '!' */
82 34, 6, 90, 19, 129, 32, 10, 74, 40, 129,
83 31, 12, 64, 53, 129, 30, 14, 54, 65, 129,
84 30, 14, 53, 67, 129, 30, 14, 54, 65, 129,
85 31, 12, 64, 53, 129, 32, 10, 74, 40, 129,
86 34, 6, 90, 19, 129, 194,
87/* 48 '"' '`' */
88 99, 9, 129, 97, 14, 129, 96, 18, 129, 95,
89 22, 129, 95, 16, 117, 2, 129, 95, 14, 129,
90 96, 11, 129, 97, 9, 129, 99, 6, 129, 194,
91/* 78 '#' */
92 87, 4, 101, 4, 131, 82, 28, 131, 87, 4,
93 101, 4, 133, 82, 28, 131, 87, 4, 101, 4,
94 131, 193,
95/* 100 '$' */
96 39, 1, 84, 27, 129, 38, 3, 81, 32, 129,
97 37, 5, 79, 35, 129, 36, 5, 77, 38, 129,
98 35, 5, 76, 40, 129, 34, 5, 75, 21, 103,
99 14, 129, 33, 5, 74, 19, 107, 11, 129, 32,
100 5, 73, 17, 110, 9, 129, 32, 4, 73, 16,
101 112, 7, 129, 31, 4, 72, 15, 114, 6, 129,
102 31, 4, 72, 14, 115, 5, 129, 30, 4, 71,
103 15, 116, 5, 129, 27, 97, 131, 30, 4, 69,
104 14, 117, 4, 129, 30, 4, 68, 15, 117, 4,
105 132, 30, 4, 68, 14, 117, 4, 129, 27, 97,
106 131, 30, 5, 65, 15, 116, 5, 129, 31, 4,
107 65, 14, 116, 4, 129, 31, 6, 64, 15, 116,
108 4, 129, 32, 7, 62, 16, 115, 4, 129, 32,
109 9, 61, 17, 114, 5, 129, 33, 11, 58, 19,
110 113, 5, 129, 34, 14, 55, 21, 112, 5, 129,
111 35, 40, 111, 5, 129, 36, 38, 110, 5, 129,
112 37, 35, 109, 5, 129, 38, 32, 110, 3, 129,
113 40, 27, 111, 1, 129, 193,
114/* 276 '%' */
115 30, 4, 103, 9, 129, 30, 7, 100, 15, 129,
116 30, 10, 99, 17, 129, 33, 10, 97, 6, 112,
117 6, 129, 36, 10, 96, 5, 114, 5, 129, 39,
118 10, 96, 4, 115, 4, 129, 42, 10, 95, 4,
119 116, 4, 129, 45, 10, 95, 3, 117, 3, 129,
120 48, 10, 95, 3, 117, 3, 129, 51, 10, 95,
121 4, 116, 4, 129, 54, 10, 96, 4, 115, 4,
122 129, 57, 10, 96, 5, 114, 5, 129, 60, 10,
123 97, 6, 112, 6, 129, 63, 10, 99, 17, 129,
124 66, 10, 100, 15, 129, 69, 10, 103, 9, 129,
125 39, 9, 72, 10, 129, 36, 15, 75, 10, 129,
126 35, 17, 78, 10, 129, 33, 6, 48, 6, 81,
127 10, 129, 32, 5, 50, 5, 84, 10, 129, 32,
128 4, 51, 4, 87, 10, 129, 31, 4, 52, 4,
129 90, 10, 129, 31, 3, 53, 3, 93, 10, 129,
130 31, 3, 53, 3, 96, 10, 129, 31, 4, 52,
131 4, 99, 10, 129, 32, 4, 51, 4, 102, 10,
132 129, 32, 5, 50, 5, 105, 10, 129, 33, 6,
133 48, 6, 108, 10, 129, 35, 17, 111, 10, 129,
134 36, 15, 114, 7, 129, 40, 9, 118, 4, 129,
135 193,
136/* 477 '&' */
137 48, 18, 129, 43, 28, 129, 41, 32, 129, 39,
138 36, 129, 37, 40, 129, 35, 44, 129, 34, 46,
139 129, 33, 13, 68, 13, 129, 32, 9, 73, 9,
140 129, 32, 7, 75, 7, 129, 31, 6, 77, 6,
141 129, 31, 5, 78, 5, 129, 30, 5, 79, 5,
142 129, 20, 74, 132, 30, 4, 80, 4, 129, 31,
143 3, 79, 4, 129, 31, 4, 79, 4, 129, 32,
144 3, 78, 4, 129, 32, 4, 76, 6, 129, 33,
145 4, 74, 7, 129, 34, 4, 72, 8, 129, 35,
146 5, 72, 7, 129, 37, 5, 73, 4, 129, 39,
147 4, 74, 1, 129, 194,
148/* 582 "'" */
149 111, 6, 129, 109, 10, 129, 108, 12, 129, 107,
150 14, 129, 97, 2, 105, 16, 129, 99, 22, 129,
151 102, 18, 129, 105, 14, 129, 108, 9, 129, 194,
152/* 612 '(' */
153 63, 25, 129, 57, 37, 129, 52, 47, 129, 48,
154 55, 129, 44, 63, 129, 41, 69, 129, 38, 75,
155 129, 36, 79, 129, 34, 83, 129, 33, 28, 90,
156 28, 129, 32, 23, 96, 23, 129, 32, 17, 102,
157 17, 129, 31, 13, 107, 13, 129, 30, 9, 112,
158 9, 129, 30, 5, 116, 5, 129, 30, 1, 120,
159 1, 129, 194,
160/* 675 ')' */
161 30, 1, 120, 1, 129, 30, 5, 116, 5, 129,
162 30, 9, 112, 9, 129, 31, 13, 107, 13, 129,
163 32, 17, 102, 17, 129, 32, 23, 96, 23, 129,
164 33, 28, 90, 28, 129, 34, 83, 129, 36, 79,
165 129, 38, 75, 129, 41, 69, 129, 44, 63, 129,
166 48, 55, 129, 52, 47, 129, 57, 37, 129, 63,
167 25, 129, 194,
168/* 738 '*' */
169 80, 4, 131, 68, 2, 80, 4, 94, 2, 129,
170 66, 6, 80, 4, 92, 6, 129, 67, 7, 80,
171 4, 90, 7, 129, 69, 7, 80, 4, 88, 7,
172 129, 71, 6, 80, 4, 87, 6, 129, 72, 20,
173 129, 74, 16, 129, 76, 12, 129, 62, 40, 131,
174 76, 12, 129, 74, 16, 129, 72, 20, 129, 71,
175 6, 80, 4, 87, 6, 129, 69, 7, 80, 4,
176 88, 7, 129, 67, 7, 80, 4, 90, 7, 129,
177 66, 6, 80, 4, 92, 6, 129, 68, 2, 80,
178 4, 94, 2, 129, 80, 4, 130, 193,
179/* 836 '+' */
180 60, 4, 139, 41, 42, 131, 60, 4, 139, 193,
181/* 846 ',' */
182 34, 6, 129, 32, 10, 129, 31, 12, 129, 30,
183 14, 129, 20, 2, 28, 16, 129, 22, 22, 129,
184 24, 19, 129, 27, 15, 129, 31, 9, 129, 194,
185/* 876 '-' */
186 60, 4, 152, 193,
187/* 880 '.' */
188 34, 6, 129, 32, 10, 129, 31, 12, 129, 30,
189 14, 131, 31, 12, 129, 32, 10, 129, 34, 6,
190 129, 194,
191/* 902 '/' */
192 30, 4, 129, 30, 7, 129, 30, 10, 129, 33,
193 10, 129, 36, 10, 129, 39, 10, 129, 42, 10,
194 129, 45, 10, 129, 48, 10, 129, 51, 10, 129,
195 54, 10, 129, 57, 10, 129, 60, 10, 129, 63,
196 10, 129, 66, 10, 129, 69, 10, 129, 72, 10,
197 129, 75, 10, 129, 78, 10, 129, 81, 10, 129,
198 84, 10, 129, 87, 10, 129, 90, 10, 129, 93,
199 10, 129, 96, 10, 129, 99, 10, 129, 102, 10,
200 129, 105, 10, 129, 108, 10, 129, 111, 10, 129,
201 114, 7, 129, 117, 4, 129, 193,
202/* 999 '0' */
203 60, 31, 129, 53, 45, 129, 49, 53, 129, 46,
204 59, 129, 43, 65, 129, 41, 69, 129, 39, 73,
205 129, 37, 77, 129, 36, 79, 129, 35, 15, 101,
206 15, 129, 34, 11, 106, 11, 129, 33, 9, 109,
207 9, 129, 32, 7, 112, 7, 129, 31, 6, 114,
208 6, 129, 31, 5, 115, 5, 129, 30, 5, 116,
209 5, 129, 30, 4, 117, 4, 132, 30, 5, 116,
210 5, 129, 31, 5, 115, 5, 129, 31, 6, 114,
211 6, 129, 32, 7, 112, 7, 129, 33, 9, 109,
212 9, 129, 34, 11, 106, 11, 129, 35, 15, 101,
213 15, 129, 36, 79, 129, 37, 77, 129, 39, 73,
214 129, 41, 69, 129, 43, 65, 129, 46, 59, 129,
215 49, 53, 129, 53, 45, 129, 60, 31, 129, 193,
216/* 1129 '1' */
217 30, 4, 129, 30, 4, 100, 1, 129, 30, 4,
218 100, 3, 129, 30, 4, 100, 5, 129, 30, 76,
219 129, 30, 78, 129, 30, 80, 129, 30, 82, 129,
220 30, 83, 129, 30, 85, 129, 30, 87, 129, 30,
221 89, 129, 30, 91, 129, 30, 4, 132, 193,
222/* 1178 '2' */
223 30, 3, 129, 30, 7, 129, 30, 10, 112, 1,
224 129, 30, 13, 112, 2, 129, 30, 16, 112, 3,
225 129, 30, 18, 111, 5, 129, 30, 21, 111, 6,
226 129, 30, 23, 112, 6, 129, 30, 14, 47, 8,
227 113, 6, 129, 30, 14, 49, 8, 114, 5, 129,
228 30, 14, 51, 8, 115, 5, 129, 30, 14, 53,
229 8, 116, 4, 129, 30, 14, 55, 8, 116, 5,
230 129, 30, 14, 56, 9, 117, 4, 129, 30, 14,
231 57, 9, 117, 4, 129, 30, 14, 58, 10, 117,
232 4, 129, 30, 14, 59, 10, 117, 4, 129, 30,
233 14, 60, 11, 117, 4, 129, 30, 14, 61, 11,
234 116, 5, 129, 30, 14, 62, 11, 116, 5, 129,
235 30, 14, 63, 12, 115, 6, 129, 30, 14, 64,
236 13, 114, 7, 129, 30, 14, 65, 13, 113, 8,
237 129, 30, 14, 65, 15, 111, 9, 129, 30, 14,
238 66, 16, 109, 11, 129, 30, 14, 67, 17, 107,
239 12, 129, 30, 14, 68, 20, 103, 16, 129, 30,
240 14, 69, 49, 129, 30, 14, 70, 47, 129, 30,
241 14, 71, 45, 129, 30, 14, 73, 42, 129, 30,
242 15, 75, 38, 129, 33, 12, 77, 34, 129, 36,
243 10, 79, 30, 129, 40, 6, 82, 23, 129, 44,
244 3, 86, 15, 129, 47, 1, 129, 193,
245/* 1396 '3' */
246 129, 38, 3, 129, 37, 5, 111, 1, 129, 36,
247 7, 111, 2, 129, 35, 9, 110, 5, 129, 34,
248 8, 110, 6, 129, 33, 7, 109, 8, 129, 32,
249 7, 110, 8, 129, 32, 6, 112, 7, 129, 31,
250 6, 113, 6, 129, 31, 5, 114, 6, 129, 30,
251 5, 115, 5, 129, 30, 5, 116, 4, 129, 30,
252 4, 117, 4, 132, 30, 4, 79, 2, 117, 4,
253 129, 30, 5, 78, 4, 117, 4, 129, 30, 5,
254 77, 6, 116, 5, 129, 30, 6, 76, 8, 115,
255 6, 129, 30, 7, 75, 11, 114, 6, 129, 30,
256 8, 73, 15, 112, 8, 129, 31, 9, 71, 19,
257 110, 9, 129, 31, 11, 68, 26, 107, 12, 129,
258 32, 13, 65, 14, 82, 36, 129, 32, 16, 61,
259 17, 83, 34, 129, 33, 44, 84, 32, 129, 34,
260 42, 85, 30, 129, 35, 40, 87, 27, 129, 36,
261 38, 89, 23, 129, 38, 34, 92, 17, 129, 40,
262 30, 95, 11, 129, 42, 26, 129, 45, 20, 129,
263 49, 11, 129, 193,
264/* 1570 '4' */
265 49, 1, 129, 49, 4, 129, 49, 6, 129, 49,
266 8, 129, 49, 10, 129, 49, 12, 129, 49, 14,
267 129, 49, 17, 129, 49, 19, 129, 49, 21, 129,
268 49, 23, 129, 49, 14, 65, 9, 129, 49, 14,
269 67, 9, 129, 49, 14, 69, 9, 129, 49, 14,
270 71, 10, 129, 49, 14, 74, 9, 129, 49, 14,
271 76, 9, 129, 49, 14, 78, 9, 129, 49, 14,
272 80, 9, 129, 49, 14, 82, 9, 129, 49, 14,
273 84, 9, 129, 30, 4, 49, 14, 86, 10, 129,
274 30, 4, 49, 14, 89, 9, 129, 30, 4, 49,
275 14, 91, 9, 129, 30, 4, 49, 14, 93, 9,
276 129, 30, 74, 129, 30, 76, 129, 30, 78, 129,
277 30, 81, 129, 30, 83, 129, 30, 85, 129, 30,
278 87, 129, 30, 89, 129, 30, 91, 129, 30, 4,
279 49, 14, 132, 193,
280/* 1714 '5' */
281 37, 1, 129, 36, 3, 77, 3, 129, 35, 5,
282 78, 11, 129, 34, 7, 78, 21, 129, 33, 7,
283 79, 29, 129, 32, 7, 79, 38, 129, 32, 6,
284 80, 4, 92, 29, 129, 31, 6, 80, 5, 102,
285 19, 129, 31, 5, 80, 6, 107, 14, 129, 31,
286 4, 81, 5, 107, 14, 129, 30, 5, 81, 6,
287 107, 14, 129, 30, 4, 81, 6, 107, 14, 130,
288 30, 4, 81, 7, 107, 14, 129, 30, 4, 80,
289 8, 107, 14, 130, 30, 5, 80, 8, 107, 14,
290 129, 30, 5, 79, 9, 107, 14, 129, 31, 5,
291 79, 9, 107, 14, 129, 31, 6, 78, 10, 107,
292 14, 129, 32, 6, 76, 11, 107, 14, 129, 32,
293 8, 74, 13, 107, 14, 129, 33, 10, 71, 16,
294 107, 14, 129, 33, 15, 67, 19, 107, 14, 129,
295 34, 51, 107, 14, 129, 35, 49, 107, 14, 129,
296 36, 47, 107, 14, 129, 37, 45, 107, 14, 129,
297 39, 41, 107, 14, 129, 41, 37, 107, 14, 129,
298 44, 32, 107, 14, 129, 47, 25, 111, 10, 129,
299 51, 16, 115, 6, 129, 119, 2, 129, 193,
300/* 1903 '6' */
301 56, 39, 129, 51, 49, 129, 47, 57, 129, 44,
302 63, 129, 42, 67, 129, 40, 71, 129, 38, 75,
303 129, 37, 77, 129, 35, 81, 129, 34, 16, 74,
304 5, 101, 16, 129, 33, 11, 76, 5, 107, 11,
305 129, 32, 9, 77, 5, 110, 9, 129, 32, 7,
306 79, 4, 112, 7, 129, 31, 6, 80, 4, 114,
307 6, 129, 31, 5, 81, 4, 115, 5, 129, 30,
308 5, 82, 4, 116, 5, 129, 30, 4, 82, 4,
309 116, 5, 129, 30, 4, 82, 5, 117, 4, 131,
310 30, 5, 82, 5, 117, 4, 129, 31, 5, 81,
311 6, 117, 4, 129, 31, 6, 80, 7, 117, 4,
312 129, 32, 7, 79, 8, 117, 4, 129, 32, 9,
313 77, 9, 116, 5, 129, 33, 11, 75, 11, 116,
314 4, 129, 34, 16, 69, 16, 115, 5, 129, 35,
315 49, 114, 5, 129, 37, 46, 113, 5, 129, 38,
316 44, 112, 6, 129, 40, 41, 112, 5, 129, 42,
317 37, 113, 3, 129, 44, 33, 114, 1, 129, 47,
318 27, 129, 51, 17, 129, 193,
319/* 2079 '7' */
320 103, 2, 129, 103, 6, 129, 104, 9, 129, 105,
321 12, 129, 106, 15, 129, 107, 14, 135, 30, 10,
322 107, 14, 129, 30, 17, 107, 14, 129, 30, 25,
323 107, 14, 129, 30, 31, 107, 14, 129, 30, 37,
324 107, 14, 129, 30, 42, 107, 14, 129, 30, 46,
325 107, 14, 129, 30, 50, 107, 14, 129, 30, 54,
326 107, 14, 129, 30, 58, 107, 14, 129, 59, 32,
327 107, 14, 129, 64, 30, 107, 14, 129, 74, 23,
328 107, 14, 129, 81, 18, 107, 14, 129, 86, 16,
329 107, 14, 129, 91, 14, 107, 14, 129, 96, 25,
330 129, 100, 21, 129, 104, 17, 129, 107, 14, 129,
331 111, 10, 129, 114, 7, 129, 117, 4, 129, 120,
332 1, 129, 193,
333/* 2202 '8' */
334 48, 13, 129, 44, 21, 129, 42, 26, 129, 40,
335 30, 92, 12, 129, 38, 34, 88, 20, 129, 36,
336 37, 86, 25, 129, 35, 39, 84, 29, 129, 34,
337 13, 63, 12, 82, 33, 129, 33, 11, 67, 9,
338 80, 36, 129, 32, 9, 70, 7, 79, 38, 129,
339 31, 8, 72, 46, 129, 30, 7, 74, 22, 108,
340 11, 129, 30, 6, 75, 19, 111, 9, 129, 30,
341 5, 75, 17, 113, 7, 129, 30, 5, 74, 16,
342 114, 6, 129, 30, 4, 73, 16, 115, 6, 129,
343 30, 4, 72, 16, 116, 5, 129, 30, 4, 72,
344 15, 117, 4, 129, 30, 4, 71, 16, 117, 4,
345 129, 30, 5, 70, 16, 117, 4, 129, 30, 5,
346 70, 15, 117, 4, 129, 30, 6, 69, 15, 116,
347 5, 129, 30, 7, 68, 17, 115, 5, 129, 30,
348 9, 67, 19, 114, 6, 129, 30, 10, 65, 22,
349 113, 6, 129, 31, 12, 63, 27, 110, 9, 129,
350 32, 14, 60, 21, 84, 9, 106, 12, 129, 33,
351 47, 85, 32, 129, 34, 45, 86, 30, 129, 35,
352 43, 88, 26, 129, 36, 40, 90, 22, 129, 38,
353 36, 93, 17, 129, 40, 32, 96, 10, 129, 42,
354 28, 129, 44, 23, 129, 48, 15, 129, 193,
355/* 2411 '9' */
356 83, 17, 129, 77, 27, 129, 36, 1, 74, 33,
357 129, 35, 3, 72, 37, 129, 34, 5, 70, 41,
358 129, 33, 6, 69, 44, 129, 33, 5, 68, 46,
359 129, 32, 5, 67, 49, 129, 31, 5, 66, 17,
360 101, 16, 129, 31, 5, 66, 11, 108, 10, 129,
361 30, 4, 65, 9, 110, 9, 129, 30, 4, 64,
362 8, 112, 7, 129, 30, 4, 64, 7, 114, 6,
363 129, 30, 4, 64, 6, 115, 5, 129, 30, 4,
364 64, 5, 116, 5, 129, 30, 4, 64, 5, 117,
365 4, 131, 30, 4, 65, 4, 117, 4, 129, 30,
366 5, 65, 4, 116, 5, 129, 31, 5, 66, 4,
367 115, 5, 129, 31, 6, 67, 4, 114, 6, 129,
368 32, 7, 68, 4, 112, 7, 129, 32, 9, 69,
369 5, 110, 9, 129, 33, 11, 70, 5, 107, 11,
370 129, 34, 16, 72, 5, 101, 16, 129, 35, 81,
371 129, 37, 77, 129, 38, 75, 129, 40, 71, 129,
372 42, 67, 129, 44, 63, 129, 47, 57, 129, 51,
373 49, 129, 56, 39, 129, 193,
374/* 2587 ':' */
375 34, 6, 74, 6, 129, 32, 10, 72, 10, 129,
376 31, 12, 71, 12, 129, 30, 14, 70, 14, 131,
377 31, 12, 71, 12, 129, 32, 10, 72, 10, 129,
378 34, 6, 74, 6, 129, 194,
379/* 2623 ';' */
380 34, 6, 74, 6, 129, 32, 10, 72, 10, 129,
381 31, 12, 71, 12, 129, 30, 14, 70, 14, 129,
382 20, 2, 28, 16, 70, 14, 129, 22, 22, 70,
383 14, 129, 24, 19, 71, 12, 129, 27, 15, 72,
384 10, 129, 31, 9, 74, 6, 129, 194,
385/* 2671 '=' */
386 53, 4, 63, 4, 152, 193,
387/* 2677 '?' */
388 99, 7, 129, 97, 13, 129, 96, 16, 129, 96,
389 18, 129, 96, 19, 129, 97, 19, 129, 99, 6,
390 110, 7, 129, 112, 6, 129, 114, 5, 129, 34,
391 6, 57, 5, 115, 4, 129, 32, 10, 54, 12,
392 116, 4, 129, 31, 12, 53, 16, 117, 3, 129,
393 30, 14, 52, 20, 117, 4, 129, 30, 14, 52,
394 23, 117, 4, 129, 30, 14, 52, 25, 117, 4,
395 129, 31, 12, 52, 27, 117, 4, 129, 32, 10,
396 53, 10, 70, 11, 116, 5, 129, 34, 6, 55,
397 5, 73, 10, 115, 6, 129, 74, 11, 114, 7,
398 129, 75, 12, 112, 9, 129, 76, 13, 110, 10,
399 129, 77, 16, 106, 14, 129, 78, 41, 129, 80,
400 38, 129, 81, 36, 129, 82, 34, 129, 84, 30,
401 129, 86, 26, 129, 88, 22, 129, 92, 14, 129,
402 194,
403/* 2818 '@' */
404 55, 15, 129, 50, 25, 129, 47, 32, 129, 45,
405 13, 70, 12, 129, 43, 9, 76, 10, 129, 42,
406 6, 79, 8, 129, 41, 5, 81, 7, 129, 40,
407 4, 84, 6, 129, 39, 4, 59, 12, 85, 6,
408 129, 38, 4, 55, 19, 87, 5, 129, 37, 4,
409 53, 23, 88, 4, 129, 36, 4, 51, 8, 71,
410 6, 89, 4, 129, 36, 4, 51, 6, 73, 4,
411 89, 4, 129, 36, 4, 50, 6, 74, 4, 90,
412 3, 129, 35, 4, 50, 5, 75, 3, 90, 4,
413 129, 35, 4, 50, 4, 75, 4, 90, 4, 131,
414 35, 4, 50, 5, 75, 4, 90, 4, 129, 36,
415 4, 51, 5, 75, 4, 90, 4, 129, 36, 4,
416 51, 6, 75, 4, 90, 4, 129, 36, 4, 53,
417 26, 90, 4, 129, 37, 4, 54, 25, 90, 4,
418 129, 37, 4, 52, 27, 90, 3, 129, 38, 4,
419 52, 4, 89, 4, 129, 39, 4, 51, 4, 88,
420 4, 129, 40, 4, 50, 4, 87, 5, 129, 41,
421 4, 50, 4, 86, 5, 129, 42, 4, 50, 4,
422 85, 5, 129, 43, 3, 50, 4, 83, 6, 129,
423 44, 2, 51, 5, 80, 7, 129, 46, 1, 52,
424 6, 76, 9, 129, 54, 28, 129, 56, 23, 129,
425 60, 16, 129, 193,
426/* 3032 'A' */
427 30, 4, 132, 30, 5, 129, 30, 8, 129, 30,
428 12, 129, 30, 16, 129, 30, 4, 37, 12, 129,
429 30, 4, 41, 12, 129, 30, 4, 44, 13, 129,
430 30, 4, 48, 13, 129, 52, 13, 129, 56, 12,
431 129, 58, 14, 129, 58, 4, 64, 12, 129, 58,
432 4, 68, 12, 129, 58, 4, 72, 12, 129, 58,
433 4, 75, 13, 129, 58, 4, 79, 13, 129, 58,
434 4, 83, 13, 129, 58, 4, 87, 13, 129, 58,
435 4, 91, 12, 129, 58, 4, 95, 12, 129, 58,
436 4, 96, 15, 129, 58, 4, 93, 22, 129, 58,
437 4, 89, 30, 129, 58, 4, 85, 36, 129, 58,
438 4, 81, 38, 129, 58, 4, 77, 38, 129, 58,
439 4, 73, 38, 129, 58, 4, 70, 37, 129, 58,
440 4, 66, 37, 129, 58, 41, 129, 58, 37, 129,
441 54, 38, 129, 30, 4, 50, 38, 129, 30, 4,
442 46, 38, 129, 30, 4, 42, 38, 129, 30, 4,
443 38, 39, 129, 30, 43, 129, 30, 39, 129, 30,
444 35, 129, 30, 31, 129, 30, 27, 129, 30, 24,
445 129, 30, 20, 129, 30, 16, 129, 30, 12, 129,
446 30, 8, 129, 30, 5, 129, 30, 4, 132, 193,
447/* 3232 'B' */
448 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
449 80, 4, 117, 4, 138, 30, 4, 80, 5, 116,
450 5, 129, 30, 5, 79, 6, 116, 5, 130, 30,
451 6, 78, 8, 115, 6, 129, 31, 6, 77, 9,
452 115, 6, 129, 31, 7, 76, 11, 114, 6, 129,
453 31, 8, 75, 14, 112, 8, 129, 32, 8, 74,
454 16, 111, 9, 129, 32, 9, 73, 19, 109, 10,
455 129, 33, 10, 71, 24, 106, 13, 129, 33, 13,
456 68, 12, 83, 35, 129, 34, 16, 64, 15, 84,
457 33, 129, 35, 43, 85, 31, 129, 36, 41, 86,
458 29, 129, 37, 39, 88, 25, 129, 38, 37, 90,
459 21, 129, 40, 33, 93, 15, 129, 42, 29, 96,
460 9, 129, 45, 24, 129, 49, 16, 129, 193,
461/* 3361 'C' */
462 63, 25, 129, 57, 37, 129, 53, 45, 129, 50,
463 51, 129, 47, 57, 129, 45, 61, 129, 43, 65,
464 129, 41, 69, 129, 39, 73, 129, 38, 25, 92,
465 21, 129, 36, 21, 97, 18, 129, 35, 18, 102,
466 14, 129, 34, 16, 106, 11, 129, 33, 14, 108,
467 10, 129, 32, 12, 111, 8, 129, 32, 10, 113,
468 6, 129, 31, 10, 114, 6, 129, 31, 8, 115,
469 5, 129, 30, 8, 116, 5, 129, 30, 7, 116,
470 5, 129, 30, 6, 117, 4, 130, 30, 5, 117,
471 4, 131, 31, 4, 116, 5, 129, 32, 4, 116,
472 4, 129, 32, 5, 115, 5, 129, 33, 4, 114,
473 5, 129, 34, 4, 112, 6, 129, 35, 4, 110,
474 7, 129, 37, 4, 107, 9, 129, 39, 4, 103,
475 12, 129, 41, 4, 103, 18, 129, 43, 4, 103,
476 18, 129, 45, 5, 103, 18, 129, 48, 5, 103,
477 18, 129, 51, 1, 129, 193,
478/* 3517 'D' */
479 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
480 117, 4, 135, 30, 5, 116, 5, 130, 30, 6,
481 115, 6, 130, 31, 6, 114, 6, 129, 31, 7,
482 113, 7, 129, 32, 7, 112, 7, 129, 32, 8,
483 111, 8, 129, 33, 9, 109, 9, 129, 33, 12,
484 106, 12, 129, 34, 13, 104, 13, 129, 35, 15,
485 101, 15, 129, 36, 19, 96, 19, 129, 37, 24,
486 90, 24, 129, 39, 73, 129, 40, 71, 129, 42,
487 67, 129, 44, 63, 129, 46, 59, 129, 49, 53,
488 129, 52, 47, 129, 56, 39, 129, 61, 29, 129,
489 193,
490/* 3618 'E' */
491 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
492 80, 4, 117, 4, 140, 30, 4, 79, 6, 117,
493 4, 129, 30, 4, 77, 10, 117, 4, 129, 30,
494 4, 73, 18, 117, 4, 132, 30, 4, 117, 4,
495 130, 30, 5, 116, 5, 130, 30, 7, 114, 7,
496 129, 30, 8, 113, 8, 129, 30, 11, 110, 11,
497 129, 30, 18, 103, 18, 132, 193,
498/* 3685 'F' */
499 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
500 80, 4, 117, 4, 132, 80, 4, 117, 4, 136,
501 79, 6, 117, 4, 129, 77, 10, 117, 4, 129,
502 73, 18, 117, 4, 132, 117, 4, 130, 116, 5,
503 130, 114, 7, 129, 113, 8, 129, 110, 11, 129,
504 103, 18, 132, 193,
505/* 3739 'G' */
506 63, 25, 129, 57, 37, 129, 53, 45, 129, 50,
507 51, 129, 47, 57, 129, 45, 61, 129, 43, 65,
508 129, 41, 69, 129, 39, 73, 129, 38, 25, 92,
509 21, 129, 36, 21, 97, 18, 129, 35, 18, 102,
510 14, 129, 34, 16, 106, 11, 129, 33, 14, 108,
511 10, 129, 32, 12, 111, 8, 129, 32, 10, 113,
512 6, 129, 31, 10, 114, 6, 129, 31, 8, 115,
513 5, 129, 30, 8, 116, 5, 129, 30, 7, 116,
514 5, 129, 30, 6, 117, 4, 130, 30, 5, 117,
515 4, 131, 30, 5, 75, 4, 116, 5, 129, 31,
516 5, 75, 4, 116, 4, 129, 31, 6, 75, 4,
517 115, 5, 129, 32, 7, 75, 4, 114, 5, 129,
518 32, 9, 75, 4, 112, 6, 129, 33, 11, 75,
519 4, 110, 7, 129, 34, 15, 75, 4, 107, 9,
520 129, 35, 44, 103, 12, 129, 36, 43, 103, 18,
521 129, 38, 41, 103, 18, 129, 39, 40, 103, 18,
522 129, 41, 38, 103, 18, 129, 44, 35, 129, 48,
523 31, 129, 52, 27, 129, 61, 18, 129, 193,
524/* 3918 'H' */
525 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
526 80, 4, 117, 4, 132, 80, 4, 140, 30, 4,
527 80, 4, 117, 4, 132, 30, 91, 137, 30, 4,
528 117, 4, 132, 193,
529/* 3952 'I' */
530 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
531 117, 4, 132, 193,
532/* 3966 'J' */
533 44, 7, 129, 40, 13, 129, 37, 17, 129, 35,
534 20, 129, 34, 22, 129, 33, 23, 129, 32, 24,
535 129, 32, 23, 129, 31, 6, 41, 13, 129, 31,
536 5, 42, 11, 129, 30, 5, 44, 7, 129, 30,
537 4, 132, 30, 5, 130, 31, 5, 129, 31, 6,
538 117, 4, 129, 31, 8, 117, 4, 129, 32, 9,
539 117, 4, 129, 33, 11, 117, 4, 129, 34, 87,
540 129, 35, 86, 129, 36, 85, 129, 37, 84, 129,
541 38, 83, 129, 40, 81, 129, 42, 79, 129, 45,
542 76, 129, 50, 71, 129, 117, 4, 132, 193,
543/* 4065 'K' */
544 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
545 76, 8, 117, 4, 129, 30, 4, 73, 13, 117,
546 4, 129, 30, 4, 70, 18, 117, 4, 129, 30,
547 4, 67, 23, 117, 4, 129, 65, 26, 129, 62,
548 31, 129, 59, 35, 129, 56, 29, 89, 7, 129,
549 53, 29, 91, 7, 129, 50, 29, 93, 7, 129,
550 47, 29, 95, 6, 129, 30, 4, 45, 29, 96,
551 7, 129, 30, 4, 42, 29, 98, 7, 129, 30,
552 4, 39, 30, 100, 6, 129, 30, 4, 36, 30,
553 101, 7, 129, 30, 33, 103, 7, 117, 4, 129,
554 30, 30, 105, 6, 117, 4, 129, 30, 27, 106,
555 7, 117, 4, 129, 30, 25, 108, 7, 117, 4,
556 129, 30, 22, 110, 11, 129, 30, 19, 111, 10,
557 129, 30, 16, 113, 8, 129, 30, 13, 115, 6,
558 129, 30, 11, 116, 5, 129, 30, 8, 117, 4,
559 129, 30, 5, 117, 4, 129, 30, 4, 117, 4,
560 130, 30, 4, 130, 193,
561/* 4230 'L' */
562 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
563 117, 4, 132, 30, 4, 144, 30, 5, 130, 30,
564 7, 129, 30, 8, 129, 30, 11, 129, 30, 18,
565 132, 193,
566/* 4262 'M' */
567 30, 4, 117, 4, 132, 30, 91, 132, 30, 4,
568 103, 18, 129, 30, 4, 97, 24, 129, 30, 4,
569 92, 29, 129, 30, 4, 87, 34, 129, 81, 40,
570 129, 76, 45, 129, 70, 49, 129, 65, 49, 129,
571 60, 49, 129, 55, 49, 129, 50, 48, 129, 44,
572 49, 129, 39, 48, 129, 33, 49, 129, 30, 47,
573 129, 34, 37, 129, 40, 26, 129, 46, 19, 129,
574 52, 19, 129, 58, 19, 129, 64, 19, 129, 70,
575 19, 129, 76, 19, 129, 82, 19, 129, 30, 4,
576 88, 18, 129, 30, 4, 94, 18, 129, 30, 4,
577 100, 18, 129, 30, 4, 106, 15, 129, 30, 91,
578 137, 30, 4, 117, 4, 132, 193,
579/* 4379 'N' */
580 30, 4, 117, 4, 132, 30, 91, 132, 30, 4,
581 107, 14, 129, 30, 4, 104, 17, 129, 30, 4,
582 101, 20, 129, 30, 4, 99, 22, 129, 96, 25,
583 129, 93, 28, 129, 91, 28, 129, 88, 29, 129,
584 85, 29, 129, 82, 29, 129, 79, 29, 129, 76,
585 29, 129, 74, 29, 129, 71, 29, 129, 68, 29,
586 129, 65, 29, 129, 62, 29, 129, 60, 29, 129,
587 57, 29, 129, 54, 29, 129, 51, 29, 129, 49,
588 28, 129, 46, 29, 129, 43, 29, 129, 40, 29,
589 117, 4, 129, 37, 29, 117, 4, 129, 35, 29,
590 117, 4, 129, 32, 29, 117, 4, 129, 30, 91,
591 132, 117, 4, 132, 193,
592/* 4494 'O' */
593 63, 25, 129, 57, 37, 129, 53, 45, 129, 50,
594 51, 129, 47, 57, 129, 45, 61, 129, 43, 65,
595 129, 41, 69, 129, 39, 73, 129, 38, 21, 92,
596 21, 129, 36, 18, 97, 18, 129, 35, 14, 102,
597 14, 129, 34, 11, 106, 11, 129, 33, 10, 108,
598 10, 129, 32, 8, 111, 8, 129, 32, 6, 113,
599 6, 129, 31, 6, 114, 6, 129, 31, 5, 115,
600 5, 129, 30, 5, 116, 5, 130, 30, 4, 117,
601 4, 132, 30, 5, 116, 5, 130, 31, 5, 115,
602 5, 129, 31, 6, 114, 6, 129, 32, 6, 113,
603 6, 129, 32, 8, 111, 8, 129, 33, 10, 108,
604 10, 129, 34, 11, 106, 11, 129, 35, 14, 102,
605 14, 129, 36, 18, 97, 18, 129, 38, 21, 92,
606 21, 129, 39, 73, 129, 41, 69, 129, 43, 65,
607 129, 45, 61, 129, 47, 57, 129, 50, 51, 129,
608 53, 45, 129, 57, 37, 129, 63, 25, 129, 193,
609/* 4654 'P' */
610 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
611 80, 4, 117, 4, 132, 80, 4, 117, 4, 134,
612 80, 5, 116, 5, 131, 80, 6, 115, 6, 130,
613 81, 6, 114, 6, 129, 81, 8, 112, 8, 129,
614 81, 9, 111, 9, 129, 82, 10, 109, 10, 129,
615 82, 13, 106, 13, 129, 83, 35, 129, 84, 33,
616 129, 85, 31, 129, 86, 29, 129, 88, 25, 129,
617 90, 21, 129, 93, 15, 129, 96, 9, 129, 193,
618/* 4734 'Q' */
619 63, 25, 129, 57, 37, 129, 53, 45, 129, 50,
620 51, 129, 47, 57, 129, 45, 61, 129, 43, 65,
621 129, 41, 69, 129, 39, 73, 129, 38, 21, 92,
622 21, 129, 36, 18, 97, 18, 129, 35, 14, 102,
623 14, 129, 34, 11, 106, 11, 129, 33, 10, 108,
624 10, 129, 32, 8, 111, 8, 129, 32, 6, 113,
625 6, 129, 31, 6, 114, 6, 129, 31, 5, 115,
626 5, 129, 30, 5, 116, 5, 130, 30, 4, 39,
627 2, 117, 4, 129, 30, 4, 40, 4, 117, 4,
628 129, 30, 4, 41, 5, 117, 4, 129, 30, 4,
629 41, 6, 117, 4, 129, 30, 5, 40, 8, 116,
630 5, 129, 30, 5, 39, 10, 116, 5, 129, 31,
631 5, 38, 11, 115, 5, 129, 31, 18, 114, 6,
632 129, 32, 17, 113, 6, 129, 32, 16, 111, 8,
633 129, 33, 15, 108, 10, 129, 33, 14, 106, 11,
634 129, 32, 17, 102, 14, 129, 31, 23, 97, 18,
635 129, 31, 28, 92, 21, 129, 30, 82, 129, 30,
636 80, 129, 30, 11, 43, 65, 129, 30, 10, 45,
637 61, 129, 31, 8, 47, 57, 129, 32, 6, 50,
638 51, 129, 33, 5, 53, 45, 129, 35, 4, 57,
639 37, 129, 38, 2, 63, 25, 129, 193,
640/* 4942 'R' */
641 30, 4, 117, 4, 132, 30, 91, 137, 30, 4,
642 76, 8, 117, 4, 129, 30, 4, 73, 11, 117,
643 4, 129, 30, 4, 70, 14, 117, 4, 129, 30,
644 4, 67, 17, 117, 4, 129, 65, 19, 117, 4,
645 129, 62, 22, 117, 4, 129, 59, 25, 117, 4,
646 129, 56, 28, 117, 4, 129, 53, 31, 117, 4,
647 129, 50, 34, 117, 4, 129, 47, 29, 80, 5,
648 116, 5, 129, 30, 4, 45, 29, 80, 5, 116,
649 5, 129, 30, 4, 42, 29, 80, 5, 116, 5,
650 129, 30, 4, 39, 30, 80, 6, 115, 6, 129,
651 30, 4, 36, 30, 80, 6, 115, 6, 129, 30,
652 33, 81, 6, 114, 6, 129, 30, 30, 81, 8,
653 112, 8, 129, 30, 27, 81, 9, 111, 9, 129,
654 30, 25, 82, 10, 109, 10, 129, 30, 22, 82,
655 13, 106, 13, 129, 30, 19, 83, 35, 129, 30,
656 16, 84, 33, 129, 30, 13, 85, 31, 129, 30,
657 11, 86, 29, 129, 30, 8, 88, 25, 129, 30,
658 5, 90, 21, 129, 30, 4, 93, 15, 129, 30,
659 4, 96, 9, 129, 30, 4, 130, 193,
660/* 5130 'S' */
661 30, 18, 130, 30, 18, 89, 15, 129, 30, 18,
662 85, 23, 129, 34, 11, 83, 27, 129, 34, 9,
663 81, 31, 129, 33, 8, 79, 35, 129, 33, 6,
664 78, 16, 106, 9, 129, 32, 6, 77, 15, 109,
665 7, 129, 32, 5, 76, 14, 111, 6, 129, 31,
666 5, 75, 14, 113, 5, 129, 31, 4, 74, 15,
667 114, 5, 129, 31, 4, 74, 14, 115, 4, 129,
668 30, 4, 73, 15, 116, 4, 129, 30, 4, 73,
669 14, 116, 4, 129, 30, 4, 73, 14, 117, 4,
670 129, 30, 4, 72, 15, 117, 4, 130, 30, 4,
671 71, 15, 117, 4, 130, 30, 4, 70, 15, 117,
672 4, 129, 30, 5, 70, 15, 117, 4, 129, 30,
673 5, 69, 15, 116, 5, 129, 30, 6, 68, 16,
674 115, 5, 129, 31, 6, 67, 16, 114, 6, 129,
675 31, 7, 66, 17, 113, 6, 129, 32, 7, 64,
676 18, 111, 8, 129, 32, 8, 62, 19, 109, 9,
677 129, 33, 9, 60, 20, 107, 10, 129, 34, 11,
678 57, 22, 103, 13, 129, 35, 43, 103, 18, 129,
679 36, 41, 103, 18, 129, 38, 38, 103, 18, 129,
680 39, 35, 103, 18, 129, 41, 31, 129, 43, 27,
681 129, 46, 22, 129, 49, 14, 129, 193,
682/* 5338 'T' */
683 103, 18, 132, 110, 11, 129, 113, 8, 129, 114,
684 7, 129, 116, 5, 130, 117, 4, 132, 30, 4,
685 117, 4, 132, 30, 91, 137, 30, 4, 117, 4,
686 132, 117, 4, 132, 116, 5, 130, 114, 7, 129,
687 113, 8, 129, 110, 11, 129, 103, 18, 132, 193,
688/* 5388 'U' */
689 117, 4, 132, 56, 65, 129, 50, 71, 129, 46,
690 75, 129, 44, 77, 129, 42, 79, 129, 40, 81,
691 129, 38, 83, 129, 36, 85, 129, 35, 86, 129,
692 34, 20, 117, 4, 129, 33, 17, 117, 4, 129,
693 32, 15, 117, 4, 129, 32, 13, 117, 4, 129,
694 31, 12, 129, 31, 10, 129, 31, 9, 129, 30,
695 9, 129, 30, 8, 130, 30, 7, 132, 31, 6,
696 130, 31, 7, 129, 32, 6, 129, 32, 7, 129,
697 33, 7, 129, 34, 7, 129, 35, 8, 129, 36,
698 9, 117, 4, 129, 38, 9, 117, 4, 129, 40,
699 10, 117, 4, 129, 42, 12, 117, 4, 129, 44,
700 77, 129, 46, 75, 129, 50, 71, 129, 56, 65,
701 129, 117, 4, 132, 193,
702/* 5513 'V' */
703 117, 4, 132, 115, 6, 129, 110, 11, 129, 105,
704 16, 129, 101, 20, 129, 96, 25, 129, 92, 29,
705 129, 87, 34, 129, 83, 38, 129, 78, 43, 129,
706 74, 47, 129, 70, 42, 117, 4, 129, 65, 42,
707 117, 4, 129, 60, 43, 117, 4, 129, 56, 42,
708 129, 51, 42, 129, 46, 43, 129, 42, 43, 129,
709 37, 44, 129, 33, 43, 129, 30, 42, 129, 33,
710 34, 129, 38, 25, 129, 42, 16, 129, 47, 15,
711 129, 52, 15, 129, 57, 15, 129, 61, 16, 129,
712 66, 16, 129, 71, 16, 129, 76, 16, 129, 80,
713 16, 129, 85, 16, 117, 4, 129, 90, 16, 117,
714 4, 129, 95, 16, 117, 4, 129, 100, 21, 129,
715 105, 16, 129, 110, 11, 129, 114, 7, 129, 117,
716 4, 132, 193,
717/* 5646 'W' */
718 117, 4, 132, 115, 6, 129, 110, 11, 129, 105,
719 16, 129, 101, 20, 129, 96, 25, 129, 92, 29,
720 129, 87, 34, 129, 83, 38, 129, 78, 43, 129,
721 74, 47, 129, 70, 42, 117, 4, 129, 65, 42,
722 117, 4, 129, 60, 43, 117, 4, 129, 56, 42,
723 129, 51, 42, 129, 46, 43, 129, 42, 43, 129,
724 37, 44, 129, 33, 43, 129, 30, 42, 129, 33,
725 34, 129, 38, 25, 129, 42, 16, 129, 47, 15,
726 129, 52, 15, 129, 57, 15, 129, 61, 16, 129,
727 65, 17, 129, 60, 27, 129, 56, 36, 129, 51,
728 42, 129, 46, 43, 129, 42, 43, 129, 37, 44,
729 129, 33, 43, 129, 30, 42, 129, 33, 34, 129,
730 38, 25, 129, 42, 16, 129, 47, 15, 129, 52,
731 15, 129, 57, 15, 129, 61, 16, 129, 66, 16,
732 129, 71, 16, 129, 76, 16, 129, 80, 16, 129,
733 85, 16, 117, 4, 129, 90, 16, 117, 4, 129,
734 95, 16, 117, 4, 129, 100, 21, 129, 105, 16,
735 129, 110, 11, 129, 114, 7, 129, 117, 4, 132,
736 193,
737/* 5827 'X' */
738 30, 4, 117, 4, 132, 30, 4, 115, 6, 129,
739 30, 4, 112, 9, 129, 30, 6, 109, 12, 129,
740 30, 9, 106, 15, 129, 30, 11, 103, 18, 129,
741 30, 14, 100, 21, 129, 30, 4, 38, 9, 98,
742 23, 129, 30, 4, 40, 10, 95, 26, 129, 30,
743 4, 43, 9, 92, 29, 129, 46, 9, 89, 32,
744 129, 49, 8, 86, 28, 117, 4, 129, 51, 9,
745 83, 28, 117, 4, 129, 54, 9, 80, 28, 117,
746 4, 129, 57, 8, 77, 28, 117, 4, 129, 59,
747 9, 74, 28, 129, 62, 37, 129, 64, 33, 129,
748 66, 28, 129, 63, 28, 129, 60, 28, 129, 57,
749 28, 129, 54, 33, 129, 51, 39, 129, 48, 29,
750 83, 9, 129, 30, 4, 45, 29, 86, 9, 129,
751 30, 4, 42, 29, 89, 9, 129, 30, 4, 39,
752 29, 92, 8, 129, 30, 4, 36, 29, 94, 9,
753 129, 30, 32, 97, 9, 129, 30, 29, 100, 8,
754 117, 4, 129, 30, 26, 103, 8, 117, 4, 129,
755 30, 23, 105, 9, 117, 4, 129, 30, 20, 108,
756 13, 129, 30, 18, 111, 10, 129, 30, 15, 113,
757 8, 129, 30, 12, 116, 5, 129, 30, 9, 117,
758 4, 129, 30, 6, 117, 4, 129, 30, 4, 117,
759 4, 132, 193,
760/* 6040 'Y' */
761 117, 4, 132, 114, 7, 129, 111, 10, 129, 108,
762 13, 129, 105, 16, 129, 102, 19, 129, 100, 21,
763 129, 96, 25, 129, 93, 28, 129, 90, 31, 129,
764 87, 34, 129, 84, 30, 117, 4, 129, 30, 4,
765 81, 30, 117, 4, 129, 30, 4, 78, 30, 117,
766 4, 129, 30, 4, 75, 30, 117, 4, 129, 30,
767 4, 72, 30, 129, 30, 69, 129, 30, 66, 129,
768 30, 63, 129, 30, 60, 129, 30, 57, 129, 30,
769 54, 129, 30, 51, 129, 30, 48, 129, 30, 51,
770 129, 30, 4, 73, 12, 129, 30, 4, 76, 12,
771 129, 30, 4, 80, 12, 129, 30, 4, 83, 12,
772 129, 87, 12, 129, 90, 12, 117, 4, 129, 94,
773 11, 117, 4, 129, 97, 12, 117, 4, 129, 101,
774 12, 117, 4, 129, 104, 17, 129, 108, 13, 129,
775 111, 10, 129, 115, 6, 129, 117, 4, 134, 193,
776/* 6190 'Z' */
777 30, 1, 103, 18, 129, 30, 4, 103, 18, 129,
778 30, 7, 103, 18, 129, 30, 9, 103, 18, 129,
779 30, 12, 110, 11, 129, 30, 15, 113, 8, 129,
780 30, 18, 114, 7, 129, 30, 21, 116, 5, 129,
781 30, 24, 116, 5, 129, 30, 27, 117, 4, 129,
782 30, 30, 117, 4, 129, 30, 33, 117, 4, 129,
783 30, 4, 37, 28, 117, 4, 129, 30, 4, 40,
784 28, 117, 4, 129, 30, 4, 42, 29, 117, 4,
785 129, 30, 4, 45, 29, 117, 4, 129, 30, 4,
786 48, 29, 117, 4, 129, 30, 4, 51, 29, 117,
787 4, 129, 30, 4, 54, 29, 117, 4, 129, 30,
788 4, 57, 29, 117, 4, 129, 30, 4, 59, 30,
789 117, 4, 129, 30, 4, 62, 30, 117, 4, 129,
790 30, 4, 65, 30, 117, 4, 129, 30, 4, 68,
791 30, 117, 4, 129, 30, 4, 71, 30, 117, 4,
792 129, 30, 4, 74, 30, 117, 4, 129, 30, 4,
793 77, 30, 117, 4, 129, 30, 4, 80, 30, 117,
794 4, 129, 30, 4, 83, 30, 117, 4, 129, 30,
795 4, 86, 35, 129, 30, 4, 89, 32, 129, 30,
796 4, 91, 30, 129, 30, 4, 94, 27, 129, 30,
797 5, 97, 24, 129, 30, 5, 100, 21, 129, 30,
798 7, 103, 18, 129, 30, 8, 106, 15, 129, 30,
799 11, 109, 12, 129, 30, 18, 112, 9, 129, 30,
800 18, 115, 6, 129, 30, 18, 117, 4, 129, 30,
801 18, 120, 1, 129, 193,
802/* 6435 'a' */
803 42, 8, 129, 38, 16, 129, 36, 20, 129, 34,
804 24, 71, 5, 129, 33, 26, 69, 10, 129, 32,
805 28, 68, 13, 129, 31, 30, 68, 14, 129, 31,
806 9, 52, 9, 68, 15, 129, 30, 8, 54, 8,
807 69, 14, 129, 30, 7, 55, 7, 71, 4, 78,
808 6, 129, 30, 6, 56, 6, 79, 5, 129, 30,
809 6, 56, 6, 80, 4, 130, 31, 5, 56, 5,
810 80, 4, 129, 31, 5, 56, 5, 79, 5, 129,
811 32, 5, 55, 5, 78, 6, 129, 33, 5, 54,
812 5, 77, 7, 129, 34, 6, 52, 6, 74, 9,
813 129, 35, 48, 129, 33, 49, 129, 32, 49, 129,
814 31, 49, 129, 30, 49, 129, 30, 47, 129, 30,
815 45, 129, 30, 41, 129, 30, 6, 129, 30, 4,
816 129, 30, 3, 129, 30, 2, 129, 193,
817/* 6573 'b' */
818 30, 4, 117, 4, 130, 30, 91, 136, 37, 5,
819 72, 5, 129, 35, 5, 74, 5, 129, 33, 5,
820 76, 5, 129, 32, 5, 77, 5, 129, 31, 5,
821 78, 5, 129, 31, 4, 79, 4, 129, 30, 5,
822 79, 5, 131, 30, 6, 78, 6, 129, 30, 7,
823 77, 7, 129, 31, 8, 75, 8, 129, 31, 11,
824 72, 11, 129, 32, 15, 67, 15, 129, 33, 48,
825 129, 34, 46, 129, 35, 44, 129, 37, 40, 129,
826 39, 36, 129, 42, 30, 129, 46, 22, 129, 193,
827/* 6663 'c' */
828 48, 18, 129, 43, 28, 129, 41, 32, 129, 39,
829 36, 129, 37, 40, 129, 35, 44, 129, 34, 46,
830 129, 33, 13, 68, 13, 129, 32, 9, 73, 9,
831 129, 32, 7, 75, 7, 129, 31, 6, 77, 6,
832 129, 31, 5, 78, 5, 129, 30, 5, 79, 5,
833 129, 30, 4, 80, 4, 133, 31, 3, 79, 4,
834 129, 31, 4, 79, 4, 129, 32, 3, 78, 4,
835 129, 32, 4, 76, 6, 129, 33, 4, 74, 7,
836 129, 34, 4, 72, 8, 129, 35, 5, 72, 7,
837 129, 37, 5, 73, 4, 129, 39, 4, 74, 1,
838 129, 194,
839/* 6765 'd' */
840 46, 22, 129, 42, 30, 129, 39, 36, 129, 37,
841 40, 129, 35, 44, 129, 34, 46, 129, 33, 48,
842 129, 32, 15, 67, 15, 129, 31, 11, 72, 11,
843 129, 31, 8, 75, 8, 129, 30, 7, 77, 7,
844 129, 30, 6, 78, 6, 129, 30, 5, 79, 5,
845 131, 31, 4, 79, 4, 129, 31, 5, 78, 5,
846 129, 32, 5, 77, 5, 129, 33, 5, 76, 5,
847 129, 35, 5, 74, 5, 117, 4, 129, 37, 5,
848 72, 5, 117, 4, 129, 30, 91, 136, 30, 4,
849 130, 193,
850/* 6857 'e' */
851 48, 18, 129, 43, 28, 129, 41, 32, 129, 39,
852 36, 129, 37, 40, 129, 35, 44, 129, 34, 46,
853 129, 33, 13, 55, 4, 68, 13, 129, 32, 9,
854 55, 4, 73, 9, 129, 32, 7, 55, 4, 75,
855 7, 129, 31, 6, 55, 4, 77, 6, 129, 31,
856 5, 55, 4, 78, 5, 129, 30, 5, 55, 4,
857 79, 5, 129, 30, 4, 55, 4, 80, 4, 132,
858 30, 4, 55, 4, 79, 5, 129, 31, 3, 55,
859 4, 78, 5, 129, 31, 4, 55, 4, 77, 6,
860 129, 32, 3, 55, 4, 75, 7, 129, 32, 4,
861 55, 4, 73, 9, 129, 33, 4, 55, 4, 68,
862 13, 129, 34, 4, 55, 25, 129, 35, 5, 55,
863 24, 129, 37, 5, 55, 22, 129, 39, 4, 55,
864 20, 129, 55, 18, 129, 55, 16, 129, 55, 11,
865 129, 193,
866/* 6999 'f' */
867 80, 4, 129, 30, 4, 80, 4, 130, 30, 78,
868 129, 30, 82, 129, 30, 85, 129, 30, 87, 129,
869 30, 88, 129, 30, 89, 129, 30, 90, 130, 30,
870 4, 80, 4, 115, 6, 129, 30, 4, 80, 4,
871 117, 4, 129, 80, 4, 105, 6, 117, 4, 129,
872 80, 4, 103, 10, 116, 5, 129, 80, 4, 102,
873 19, 129, 80, 4, 101, 19, 129, 101, 19, 129,
874 101, 18, 129, 102, 16, 129, 103, 12, 129, 105,
875 6, 129, 193,
876/* 7082 'g' */
877 12, 10, 59, 11, 129, 9, 16, 55, 19, 129,
878 7, 20, 53, 23, 129, 6, 7, 23, 5, 32,
879 6, 51, 27, 129, 4, 7, 25, 16, 50, 29,
880 129, 3, 6, 27, 16, 49, 31, 129, 2, 6,
881 28, 16, 48, 33, 129, 1, 6, 27, 18, 47,
882 35, 129, 1, 6, 27, 31, 71, 12, 129, 1,
883 5, 26, 15, 44, 10, 75, 8, 129, 1, 5,
884 25, 14, 45, 7, 77, 7, 129, 1, 5, 25,
885 13, 45, 5, 79, 5, 129, 1, 5, 24, 14,
886 45, 4, 80, 4, 129, 1, 5, 24, 13, 45,
887 4, 80, 4, 129, 1, 5, 23, 14, 45, 4,
888 80, 4, 129, 1, 5, 23, 13, 45, 4, 80,
889 4, 129, 1, 6, 22, 13, 45, 5, 79, 5,
890 129, 1, 6, 21, 14, 45, 7, 77, 7, 129,
891 1, 7, 21, 13, 46, 8, 75, 8, 129, 1,
892 8, 20, 13, 46, 12, 71, 12, 129, 1, 10,
893 18, 15, 47, 35, 129, 2, 30, 48, 33, 129,
894 3, 29, 49, 32, 129, 4, 27, 50, 31, 129,
895 5, 25, 51, 27, 80, 2, 86, 4, 129, 7,
896 21, 53, 23, 80, 3, 85, 6, 129, 9, 17,
897 55, 19, 80, 12, 129, 12, 12, 59, 11, 81,
898 11, 129, 82, 10, 129, 84, 7, 129, 86, 4,
899 129, 193,
900/* 7304 'h' */
901 30, 4, 117, 4, 130, 30, 91, 136, 30, 4,
902 72, 5, 129, 30, 4, 74, 5, 129, 75, 5,
903 129, 76, 5, 129, 76, 6, 129, 77, 6, 130,
904 77, 7, 130, 76, 8, 129, 30, 4, 75, 9,
905 129, 30, 4, 72, 12, 129, 30, 54, 129, 30,
906 53, 130, 30, 52, 129, 30, 51, 129, 30, 49,
907 129, 30, 46, 129, 30, 42, 129, 30, 4, 130,
908 193,
909/* 7375 'i' */
910 30, 4, 80, 4, 129, 30, 4, 80, 4, 100,
911 6, 129, 30, 54, 98, 10, 129, 30, 54, 97,
912 12, 129, 30, 54, 96, 14, 131, 30, 54, 97,
913 12, 129, 30, 54, 98, 10, 129, 30, 54, 100,
914 6, 129, 30, 4, 130, 193,
915/* 7421 'j' */
916 7, 6, 129, 4, 11, 129, 3, 13, 129, 2,
917 14, 129, 1, 15, 130, 1, 3, 6, 9, 129,
918 1, 3, 7, 6, 129, 1, 3, 130, 1, 4,
919 129, 1, 5, 80, 4, 129, 1, 7, 80, 4,
920 100, 6, 129, 2, 82, 98, 10, 129, 3, 81,
921 97, 12, 129, 4, 80, 96, 14, 129, 5, 79,
922 96, 14, 129, 7, 77, 96, 14, 129, 10, 74,
923 97, 12, 129, 14, 70, 98, 10, 129, 19, 65,
924 100, 6, 129, 193,
925/* 7505 'k' */
926 30, 4, 117, 4, 130, 30, 91, 136, 30, 4,
927 57, 9, 129, 30, 4, 55, 12, 129, 52, 17,
928 129, 50, 20, 129, 48, 24, 129, 46, 27, 129,
929 44, 21, 69, 6, 129, 41, 22, 70, 6, 80,
930 4, 129, 30, 4, 39, 21, 72, 6, 80, 4,
931 129, 30, 4, 36, 22, 73, 11, 129, 30, 26,
932 75, 9, 129, 30, 23, 76, 8, 129, 30, 21,
933 78, 6, 129, 30, 19, 79, 5, 129, 30, 16,
934 80, 4, 129, 30, 14, 80, 4, 129, 30, 12,
935 129, 30, 10, 129, 30, 7, 129, 30, 5, 129,
936 30, 4, 130, 193,
937/* 7609 'l' */
938 30, 4, 117, 4, 130, 30, 91, 136, 30, 4,
939 130, 193,
940/* 7621 'm' */
941 30, 4, 80, 4, 130, 30, 54, 136, 30, 4,
942 72, 5, 129, 30, 4, 74, 5, 129, 75, 5,
943 129, 76, 5, 129, 30, 4, 75, 7, 129, 30,
944 4, 74, 9, 129, 30, 54, 132, 30, 53, 129,
945 30, 52, 129, 30, 51, 129, 30, 48, 129, 30,
946 4, 72, 5, 129, 30, 4, 74, 5, 129, 75,
947 5, 129, 76, 5, 129, 30, 4, 75, 7, 129,
948 30, 4, 74, 9, 129, 30, 54, 132, 30, 53,
949 129, 30, 52, 129, 30, 51, 129, 30, 48, 129,
950 30, 4, 130, 193,
951/* 7715 'n' */
952 30, 4, 80, 4, 130, 30, 54, 136, 30, 4,
953 72, 5, 129, 30, 4, 74, 5, 129, 75, 5,
954 129, 76, 5, 129, 76, 6, 129, 77, 6, 130,
955 77, 7, 130, 76, 8, 129, 30, 4, 75, 9,
956 129, 30, 4, 72, 12, 129, 30, 54, 129, 30,
957 53, 130, 30, 52, 129, 30, 51, 129, 30, 49,
958 129, 30, 46, 129, 30, 42, 129, 30, 4, 130,
959 193,
960/* 7786 'o' */
961 48, 18, 129, 43, 28, 129, 41, 32, 129, 39,
962 36, 129, 37, 40, 129, 35, 44, 129, 34, 46,
963 129, 33, 13, 68, 13, 129, 32, 9, 73, 9,
964 129, 32, 7, 75, 7, 129, 31, 6, 77, 6,
965 129, 31, 5, 78, 5, 129, 30, 5, 79, 5,
966 129, 30, 4, 80, 4, 132, 30, 5, 79, 5,
967 130, 31, 5, 78, 5, 129, 31, 6, 77, 6,
968 129, 32, 7, 75, 7, 129, 32, 9, 73, 9,
969 129, 33, 13, 68, 13, 129, 34, 46, 129, 35,
970 44, 129, 37, 40, 129, 39, 36, 129, 41, 32,
971 129, 43, 28, 129, 48, 18, 129, 193,
972/* 7894 'p' */
973 1, 3, 80, 4, 130, 1, 83, 137, 37, 5,
974 72, 5, 129, 35, 5, 74, 5, 129, 33, 5,
975 76, 5, 129, 32, 5, 77, 5, 129, 31, 5,
976 78, 5, 129, 31, 4, 79, 4, 129, 30, 5,
977 79, 5, 131, 30, 6, 78, 6, 129, 30, 7,
978 77, 7, 129, 31, 8, 75, 8, 129, 31, 11,
979 72, 11, 129, 32, 15, 67, 15, 129, 33, 48,
980 129, 34, 46, 129, 35, 44, 129, 37, 40, 129,
981 39, 36, 129, 42, 30, 129, 46, 22, 129, 193,
982/* 7984 'q' */
983 46, 22, 129, 42, 30, 129, 39, 36, 129, 37,
984 40, 129, 35, 44, 129, 34, 46, 129, 33, 48,
985 129, 32, 15, 67, 15, 129, 31, 11, 72, 11,
986 129, 31, 8, 75, 8, 129, 30, 7, 77, 7,
987 129, 30, 6, 78, 6, 129, 30, 5, 79, 5,
988 131, 31, 4, 79, 4, 129, 31, 5, 78, 5,
989 129, 32, 5, 77, 5, 129, 33, 5, 76, 5,
990 129, 35, 5, 74, 5, 129, 37, 5, 72, 5,
991 129, 1, 83, 136, 1, 3, 80, 4, 130, 193,
992/* 8074 'r' */
993 30, 4, 80, 4, 130, 30, 54, 136, 30, 4,
994 68, 6, 129, 30, 4, 70, 6, 129, 71, 7,
995 129, 72, 7, 129, 73, 7, 129, 74, 7, 129,
996 74, 8, 129, 75, 8, 130, 69, 15, 129, 67,
997 17, 129, 66, 18, 129, 65, 19, 130, 65, 18,
998 130, 66, 16, 129, 67, 13, 129, 69, 8, 129,
999 193,
1000/* 8135 's' */
1001 30, 13, 64, 8, 129, 30, 13, 61, 14, 129,
1002 30, 13, 59, 18, 129, 30, 13, 57, 22, 129,
1003 33, 8, 56, 24, 129, 32, 7, 55, 26, 129,
1004 32, 6, 54, 28, 129, 31, 6, 53, 16, 77,
1005 6, 129, 31, 5, 53, 14, 79, 4, 129, 30,
1006 5, 52, 14, 80, 4, 129, 30, 5, 52, 13,
1007 80, 4, 129, 30, 4, 52, 13, 80, 4, 129,
1008 30, 4, 52, 12, 80, 4, 129, 30, 4, 51,
1009 13, 80, 4, 130, 30, 4, 50, 13, 79, 5,
1010 129, 30, 4, 50, 13, 78, 5, 129, 30, 5,
1011 49, 14, 77, 6, 129, 31, 4, 49, 13, 76,
1012 6, 129, 31, 5, 48, 14, 75, 7, 129, 32,
1013 5, 47, 14, 73, 8, 129, 32, 6, 45, 16,
1014 71, 13, 129, 33, 27, 71, 13, 129, 34, 26,
1015 71, 13, 129, 35, 24, 71, 13, 129, 37, 20,
1016 129, 39, 16, 129, 43, 9, 129, 193,
1017/* 8293 't' */
1018 80, 4, 131, 41, 56, 129, 37, 60, 129, 35,
1019 62, 129, 33, 64, 129, 32, 65, 129, 31, 66,
1020 129, 30, 67, 130, 30, 11, 80, 4, 129, 30,
1021 9, 80, 4, 129, 30, 8, 80, 4, 129, 31,
1022 7, 80, 4, 129, 31, 6, 129, 32, 5, 129,
1023 33, 5, 129, 35, 4, 129, 38, 3, 129, 193,
1024/* 8353 'u' */
1025 80, 4, 130, 42, 42, 129, 38, 46, 129, 35,
1026 49, 129, 33, 51, 129, 32, 52, 129, 31, 53,
1027 130, 30, 54, 129, 30, 12, 129, 30, 9, 129,
1028 30, 8, 129, 30, 7, 130, 31, 6, 130, 32,
1029 6, 129, 33, 5, 129, 34, 5, 129, 35, 5,
1030 80, 4, 129, 37, 5, 80, 4, 129, 30, 54,
1031 136, 30, 4, 130, 193,
1032/* 8418 'v' */
1033 80, 4, 130, 77, 7, 129, 74, 10, 129, 70,
1034 14, 129, 66, 18, 129, 62, 22, 129, 59, 25,
1035 129, 55, 29, 129, 51, 33, 129, 47, 37, 129,
1036 44, 32, 80, 4, 129, 40, 32, 80, 4, 129,
1037 36, 32, 129, 32, 33, 129, 30, 31, 129, 33,
1038 24, 129, 36, 17, 129, 40, 12, 129, 44, 12,
1039 129, 48, 12, 129, 51, 13, 129, 55, 13, 129,
1040 59, 13, 80, 4, 129, 63, 13, 80, 4, 129,
1041 67, 17, 129, 71, 13, 129, 74, 10, 129, 78,
1042 6, 129, 80, 4, 131, 193,
1043/* 8514 'w' */
1044 80, 4, 130, 77, 7, 129, 74, 10, 129, 70,
1045 14, 129, 66, 18, 129, 62, 22, 129, 59, 25,
1046 129, 55, 29, 129, 51, 33, 129, 47, 37, 129,
1047 44, 32, 80, 4, 129, 40, 32, 80, 4, 129,
1048 36, 32, 129, 32, 33, 129, 30, 31, 129, 33,
1049 24, 129, 36, 17, 129, 40, 12, 129, 44, 12,
1050 129, 47, 13, 129, 44, 20, 129, 40, 28, 129,
1051 36, 31, 129, 32, 32, 129, 30, 30, 129, 33,
1052 24, 129, 36, 17, 129, 40, 12, 129, 44, 12,
1053 129, 48, 12, 129, 51, 13, 129, 55, 13, 129,
1054 59, 13, 80, 4, 129, 63, 13, 80, 4, 129,
1055 67, 17, 129, 71, 13, 129, 74, 10, 129, 78,
1056 6, 129, 80, 4, 131, 193,
1057/* 8640 'x' */
1058 30, 4, 80, 4, 130, 30, 4, 79, 5, 129,
1059 30, 5, 77, 7, 129, 30, 6, 74, 10, 129,
1060 30, 8, 72, 12, 129, 30, 11, 69, 15, 129,
1061 30, 13, 67, 17, 129, 30, 4, 37, 8, 64,
1062 20, 129, 30, 4, 39, 8, 62, 22, 129, 41,
1063 8, 59, 25, 129, 43, 8, 57, 27, 129, 45,
1064 8, 55, 22, 80, 4, 129, 47, 27, 80, 4,
1065 129, 49, 23, 129, 47, 22, 129, 44, 23, 129,
1066 42, 22, 129, 30, 4, 39, 27, 129, 30, 4,
1067 37, 31, 129, 30, 27, 62, 8, 129, 30, 25,
1068 64, 8, 129, 30, 22, 66, 8, 80, 4, 129,
1069 30, 20, 68, 8, 80, 4, 129, 30, 17, 70,
1070 8, 80, 4, 129, 30, 15, 73, 11, 129, 30,
1071 12, 75, 9, 129, 30, 10, 77, 7, 129, 30,
1072 7, 79, 5, 129, 30, 5, 80, 4, 129, 30,
1073 4, 80, 4, 130, 193,
1074/* 8795 'y' */
1075 4, 5, 80, 4, 129, 2, 9, 80, 4, 129,
1076 1, 11, 77, 7, 129, 1, 12, 74, 10, 129,
1077 1, 12, 70, 14, 129, 1, 12, 66, 18, 129,
1078 1, 11, 62, 22, 129, 2, 9, 59, 25, 129,
1079 4, 11, 55, 29, 129, 7, 12, 51, 33, 129,
1080 10, 12, 47, 37, 129, 14, 12, 44, 32, 80,
1081 4, 129, 17, 13, 40, 32, 80, 4, 129, 21,
1082 13, 36, 32, 129, 25, 40, 129, 29, 32, 129,
1083 33, 24, 129, 36, 17, 129, 40, 12, 129, 44,
1084 12, 129, 48, 12, 129, 51, 13, 129, 55, 13,
1085 129, 59, 13, 80, 4, 129, 63, 13, 80, 4,
1086 129, 67, 17, 129, 71, 13, 129, 74, 10, 129,
1087 78, 6, 129, 80, 4, 131, 193,
1088/* 8922 'z' */
1089 30, 1, 71, 13, 129, 30, 3, 71, 13, 129,
1090 30, 6, 71, 13, 129, 30, 9, 75, 9, 129,
1091 30, 11, 77, 7, 129, 30, 14, 79, 5, 129,
1092 30, 17, 79, 5, 129, 30, 19, 80, 4, 129,
1093 30, 22, 80, 4, 129, 30, 25, 80, 4, 129,
1094 30, 27, 80, 4, 129, 30, 4, 36, 24, 80,
1095 4, 129, 30, 4, 38, 25, 80, 4, 129, 30,
1096 4, 41, 24, 80, 4, 129, 30, 4, 44, 24,
1097 80, 4, 129, 30, 4, 46, 25, 80, 4, 129,
1098 30, 4, 49, 25, 80, 4, 129, 30, 4, 52,
1099 24, 80, 4, 129, 30, 4, 54, 30, 129, 30,
1100 4, 57, 27, 129, 30, 4, 59, 25, 129, 30,
1101 4, 62, 22, 129, 30, 4, 65, 19, 129, 30,
1102 5, 67, 17, 129, 30, 5, 70, 14, 129, 30,
1103 7, 73, 11, 129, 30, 9, 76, 8, 129, 30,
1104 13, 78, 6, 129, 30, 13, 81, 3, 129, 30,
1105 13, 129, 193,
1106};
1107
1108char line[DWIDTH132];
1109char message[MAXMSG1024];
1110char print[DWIDTH132];
1111int debug, i, j, linen, max, nchars, pc, term, trace, x, y;
1112int width = DWIDTH132; /* -w option: scrunch letters to 80 columns */
1113
1114int
1115main(int argc, char *argv[])
1116{
1117 int ch;
1118 const char *errstr;
1119
1120 if (pledge("stdio", NULL((void *)0)) == -1)
1121 err(1, "pledge");
1122
1123 while ((ch = getopt(argc, argv, "w:tdh")) != -1)
1124 switch (ch) {
1125 case 'd':
1126 debug = 1;
1127 break;
1128 case 't':
1129 trace = 1;
1130 break;
1131 case 'w':
1132 width = strtonum(optarg, 1, DWIDTH132, &errstr);
1133 if (errstr)
1134 errx(1, "width is %s: %s", errstr, optarg);
1135 break;
1136 case 'h':
1137 default:
1138 (void)fprintf(stderr(&__sF[2]),
1139 "usage: %s [-w width] message ...\n",
1140 getprogname());
1141 return 1;
1142 }
1143 argc -= optind;
Value stored to 'argc' is never read
1144 argv += optind;
1145
1146 for (i = 0; i < width; i++) {
1147 j = i * DWIDTH132 / width;
1148 print[j] = 1;
1149 }
1150
1151 /* Have now read in the data. Next get the message to be printed. */
1152 if (*argv) {
1153 strlcpy(message, *argv, sizeof message);
1154 while (*++argv) {
1155 strlcat(message, " ", sizeof message);
1156 strlcat(message, *argv, sizeof message);
1157 }
1158 } else {
1159 if (isatty(fileno(stdin)(!__isthreaded ? (((&__sF[0]))->_file) : (fileno)((&
__sF[0])))
))
1160 fprintf(stderr(&__sF[2]),"Message: ");
1161 if (fgets(message, sizeof(message), stdin(&__sF[0])) == NULL((void *)0))
1162 errx(1, "error reading message");
1163 /* get rid of newline */
1164 message[strcspn(message, "\n")] = '\0';
1165 }
1166 nchars = strlen(message);
1167
1168 /* some debugging print statements */
1169 if (debug) {
1170 printf("int asc_ptr[128] = {\n");
1171 for (i = 0; i < 128; i++) {
1172 printf("%4d, ",asc_ptr[i]);
1173 if ((i+1) % 8 == 0)
1174 printf("\n");
1175 }
1176 printf("};\nchar data_table[NBYTES] = {\n");
1177 printf(" /* ");
1178 for (i = 0; i < 10; i++) printf(" %3d ",i);
1179 printf(" */\n");
1180 for (i = 0; i < NBYTES9085; i += 10) {
1181 printf("/* %4d */ ",i);
1182 for (j = i; j < i+10; j++) {
1183 x = data_table[j] & 0377;
1184 printf(" %3d, ",x);
1185 }
1186 putchar('\n')(!__isthreaded ? __sputc('\n', (&__sF[1])) : (putc)('\n',
(&__sF[1])))
;
1187 }
1188 printf("};\n");
1189 }
1190
1191 /* check message to make sure it's legal */
1192 j = 0;
1193 for (i = 0; i < nchars; i++)
1194 if ((u_char) message[i] >= NCHARS128 ||
1195 asc_ptr[(u_char) message[i]] == 0) {
1196 warnx("The character '%c' is not in my character set",
1197 message[i]);
1198 j++;
1199 }
1200 if (j)
1201 return 1;
1202
1203 if (trace)
1204 printf("Message '%s' is OK\n",message);
1205 /* Now have message. Print it one character at a time. */
1206
1207 for (i = 0; i < nchars; i++) {
1208 if (trace)
1209 printf("Char #%d: %c\n", i, message[i]);
1210 for (j = 0; j < DWIDTH132; j++) line[j] = ' ';
1211 pc = asc_ptr[(u_char) message[i]];
1212 term = 0;
1213 max = 0;
1214 linen = 0;
1215 while (!term) {
1216 if (pc < 0 || pc >= NBYTES9085) {
1217 printf("bad pc: %d\n",pc);
1218 return 1;
1219 }
1220 x = data_table[pc] & 0377;
1221 if (trace)
1222 printf("pc=%d, term=%d, max=%d, linen=%d, x=%d\n",pc,term,max,linen,x);
1223 if (x >= 128) {
1224 if (x>192) term++;
1225 x = x & 63;
1226 while (x--) {
1227 if (print[(unsigned int) linen++ % DWIDTH132]) {
1228 for (j=0; j < max && j < DWIDTH132; j++)
1229 if (print[j])
1230 putchar(line[j])(!__isthreaded ? __sputc(line[j], (&__sF[1])) : (putc)(line
[j], (&__sF[1])))
;
1231 putchar('\n')(!__isthreaded ? __sputc('\n', (&__sF[1])) : (putc)('\n',
(&__sF[1])))
;
1232 }
1233 }
1234 for (j = 0; j < DWIDTH132; j++) line[j] = ' ';
1235 pc++;
1236 max = 0;
1237 }
1238 else {
1239 if (pc+1 < 0 || pc+1 >= NBYTES9085) {
1240 printf("bad pc: %d\n",pc+1);
1241 return 1;
1242 }
1243 y = data_table[pc+1];
1244 /* compensate for narrow teminals */
1245#ifdef notdef
1246 x = (x*width + (DWIDTH132/2)) / DWIDTH132;
1247 y = (y*width + (DWIDTH132/2)) / DWIDTH132;
1248#endif
1249 max = x+y;
1250 while (x < max && x < DWIDTH132)
1251 line[x++] = '#';
1252 pc += 2;
1253 if (trace)
1254 printf("x=%d, y=%d, max=%d\n",x,y,max);
1255 }
1256 }
1257 }
1258
1259 return 0;
1260}