Mercurial > dnsbl
annotate src/scanner.cpp @ 211:4db1457cd11a stable-6-0-18
Extend auto-whitelisting when receiving mail even if the auto whitelist is specified in a parent context.
Fixes for Solaris from sm-archive.
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Sat, 22 Mar 2008 11:19:36 -0700 |
parents | c7fc218686f5 |
children | 784030ac71f1 |
rev | line source |
---|---|
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1 /* |
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
2 |
152 | 3 Copyright (c) 2007 Carl Byington - 510 Software Group, released under |
4 the GPL version 3 or any later version at your choice available at | |
5 http://www.gnu.org/licenses/gpl-3.0.txt | |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
6 |
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
7 */ |
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
8 |
119 | 9 #include <sys/socket.h> |
10 #include <netinet/in.h> | |
11 #include <arpa/inet.h> | |
73 | 12 #include "includes.h" |
16 | 13 |
75 | 14 //////////////////////////////////////////////// |
15 // finite state machine | |
16 // | |
17 enum state {// host name recognizer states | |
117 | 18 h_init, |
19 h_host, | |
75 | 20 |
117 | 21 // html tag discarder states |
22 t_init, | |
23 t_tag1, // seen opening < | |
24 t_tag2, // not comment | |
25 t_com1, // seen ! | |
26 t_com2, // seen first - | |
27 t_com3, // seen second -, looking for --> | |
28 t_com4, // seen first - | |
29 t_com5, // seen second - | |
30 t_disc, // looking for closing > | |
75 | 31 |
117 | 32 // url recognizer states |
33 u_init, | |
34 u_http, | |
35 u_sla, | |
36 u_url, | |
75 | 37 |
117 | 38 // url decoder states %xx |
39 d_init, | |
40 d_pcnt, | |
41 d_1, | |
75 | 42 |
117 | 43 // html entity decoder states &#nnn; |
44 e_init, | |
45 e_amp, | |
46 e_num, | |
75 | 47 |
117 | 48 // mime decoder states =xx |
49 m_init, | |
50 m_eq, | |
51 m_1, | |
75 | 52 |
117 | 53 // base64 decoder states |
54 b_init, | |
55 b_lf, | |
56 b_lf2, | |
57 b_64, | |
75 | 58 |
117 | 59 // uuencoding decoder states |
60 uu_init, | |
61 uu_lf, | |
62 uu_lf2, | |
63 uu_64, | |
75 | 64 |
117 | 65 // counter for number of columns in the table |
66 end_state, | |
75 | 67 |
117 | 68 // temporary states |
69 h_end, | |
70 t_bin, | |
71 t_end, | |
72 u_reco, | |
73 d_2, | |
74 e_semi, | |
75 m_2, | |
76 m_cr, | |
77 m_nl, | |
78 b_cr, | |
79 uu_cr | |
80 }; | |
75 | 81 |
147 | 82 static char* state_names[] = {"h_init", |
83 "h_host", | |
84 "t_init", | |
85 "t_tag1", | |
86 "t_tag2", | |
87 "t_com1", | |
88 "t_com2", | |
89 "t_com3", | |
90 "t_com4", | |
91 "t_com5", | |
92 "t_disc", | |
93 "u_init", | |
94 "u_http", | |
95 "u_sla", | |
96 "u_url", | |
97 "d_init", | |
98 "d_pcnt", | |
99 "d_1", | |
100 "e_init", | |
101 "e_amp", | |
102 "e_num", | |
103 "m_init", | |
104 "m_eq", | |
105 "m_1", | |
106 "b_init", | |
107 "b_lf", | |
108 "b_lf2", | |
109 "b_64", | |
110 "uu_init", | |
111 "uu_lf", | |
112 "uu_lf2", | |
113 "uu_64", | |
114 "end_state", | |
115 "h_end", | |
116 "t_bin", | |
117 "t_end", | |
118 "u_reco", | |
119 "d_2", | |
120 "e_semi", | |
121 "m_2", | |
122 "m_cr", | |
123 "m_nl", | |
124 "b_cr", | |
125 "uu_cr"}; | |
126 | |
75 | 127 #define PENDING_LIMIT 100 |
128 class fsa { | |
147 | 129 char *myname; |
117 | 130 u_char pending[PENDING_LIMIT]; |
131 int count; | |
132 state st; | |
133 state init; | |
134 fsa *next1; | |
135 fsa *next2; | |
136 recorder *memory; | |
75 | 137 |
138 public: | |
147 | 139 fsa(char *myname_, state init, fsa *next1_, fsa *next2_, recorder *memory_); |
117 | 140 void push(u_char *buf, int len); |
141 void pusher(); | |
142 void validhost(); | |
143 void error(char *err); | |
75 | 144 }; |
145 | |
146 | |
6 | 147 typedef state PARSE[end_state]; |
148 | |
149 static PARSE parse_table[256] = { | |
117 | 150 // h_init, h_host, t_init, t_tag1, t_tag2, t_com1, t_com2, t_com3, t_com4, t_com5, t_disc, u_init, u_http, u_sla , u_url, d_init, d_pcnt, d_1, e_init, e_amp, e_num, m_init, m_eq, m_1, b_init, b_lf, b_lf2, b_64 uu_init, uu_lf, uu_lf2, uu_64 |
6 | 151 |
117 | 152 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x00 |
153 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x01 | |
154 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x02 | |
155 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x03 | |
156 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x04 | |
157 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x05 | |
158 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x06 | |
159 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x07 | |
160 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x08 | |
161 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x09 <tab> | |
162 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_nl, m_init, b_lf, b_init, b_lf2, b_init, uu_lf, uu_init, uu_lf2, uu_init, }, // 0x0a <lf> | |
163 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0b | |
164 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0c | |
165 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_cr, m_init, b_init, b_init, b_init, b_cr, uu_init, uu_init, uu_init, uu_cr, }, // 0x0d <cr> | |
166 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0e | |
167 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x0f | |
168 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x10 | |
169 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x11 xon char | |
170 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x12 | |
171 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x13 xoff char | |
172 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x14 | |
173 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x15 | |
174 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x16 | |
175 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x17 | |
176 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x18 | |
177 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x19 | |
178 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1a | |
179 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1b | |
180 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1c | |
181 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1d | |
182 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1e | |
183 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x1f | |
184 {h_init, h_end, t_init, t_end, t_end, t_end, t_end, t_com3, t_com3, t_com5, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x20 space | |
185 {h_init, h_end, t_init, t_com1, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x21 ! | |
186 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x22 "" | |
187 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_num, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x23 # | |
188 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x24 $ | |
189 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_pcnt, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x25 % | |
190 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_amp, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x26 & | |
191 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x27 ' | |
192 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x28 ( | |
193 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x29 ) | |
194 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2A * | |
195 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x2B + | |
196 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2C , | |
197 {h_host, h_host, t_init, t_disc, t_disc, t_com2, t_com3, t_com4, t_com5, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2D - | |
198 {h_host, h_host, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x2E . | |
199 {h_init, h_end, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_sla, u_sla, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x2F / | |
200 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x30 0 | |
201 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x31 1 | |
202 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x32 2 | |
203 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x33 3 | |
204 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x34 4 | |
205 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x35 5 | |
206 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x36 6 | |
207 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x37 7 | |
208 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x38 8 | |
209 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x39 9 | |
210 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3A : | |
211 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_semi, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3B ; | |
212 {h_init, h_end, t_tag1, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3C < | |
213 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_eq, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x3D = | |
214 {h_init, h_end, t_init, t_end, t_end, t_end, t_end, t_com3, t_com3, t_end, t_end, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3E > | |
215 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x3F ? | |
216 {h_init, h_host, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x40 @ | |
217 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x41 A | |
218 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x42 B | |
219 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x43 C | |
220 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x44 D | |
221 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x45 E | |
222 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x46 F | |
223 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x47 G | |
224 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x48 H | |
225 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x49 I | |
226 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4A J | |
227 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4B K | |
228 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4C L | |
229 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4D M | |
230 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4E N | |
231 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x4F O | |
232 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x50 P | |
233 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x51 Q | |
234 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x52 R | |
235 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x53 S | |
236 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x54 T | |
237 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x55 U | |
238 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x56 V | |
239 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x57 W | |
240 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_num, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x58 X | |
241 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x59 Y | |
242 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_64, uu_64, uu_64, }, // 0x5A Z | |
243 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5B [ | |
244 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5C backslash | |
245 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5D ] | |
246 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5E ^ | |
247 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x5F _ | |
248 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_64, uu_64, uu_64, }, // 0x60 ` | |
249 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x61 a | |
250 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x62 b | |
251 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x63 c | |
252 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x64 d | |
253 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x65 e | |
254 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_1, d_2, e_init, e_init, e_num, m_init, m_1, m_2, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x66 f | |
255 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x67 g | |
256 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x68 h | |
257 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x69 i | |
258 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6A j | |
259 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6B k | |
260 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6C l | |
261 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6D m | |
262 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6E n | |
263 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x6F o | |
264 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x70 p | |
265 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x71 q | |
266 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x72 r | |
267 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x73 s | |
268 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_http, u_http, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x74 t | |
269 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x75 u | |
270 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x76 v | |
271 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x77 w | |
272 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_num, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x78 x | |
273 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x79 y | |
274 {h_host, h_host, t_init, t_tag2, t_tag2, t_tag2, t_tag2, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_url, u_url, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_64, b_64, b_64, uu_init, uu_init, uu_init, uu_init, }, // 0x7A z | |
275 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7B { | |
276 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7C | | |
277 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7D } | |
278 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7E ~ | |
279 {h_init, h_end, t_init, t_disc, t_disc, t_disc, t_disc, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x7f | |
280 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x80 | |
281 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x81 | |
282 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x82 | |
283 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x83 | |
284 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x84 | |
285 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x85 | |
286 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x86 | |
287 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x87 | |
288 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x88 | |
289 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x89 | |
290 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8a | |
291 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8b | |
292 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8c | |
293 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8d | |
294 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8e | |
295 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x8f | |
296 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x90 | |
297 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x91 | |
298 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x92 | |
299 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x93 | |
300 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x94 | |
301 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x95 | |
302 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x96 | |
303 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x97 | |
304 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x98 | |
305 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x99 | |
306 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9a | |
307 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9b | |
308 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9c | |
309 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9d | |
310 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9e | |
311 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0x9f | |
312 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa0 | |
313 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa1 | |
314 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa2 | |
315 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa3 | |
316 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa4 | |
317 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa5 | |
318 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa6 | |
319 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa7 | |
320 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa8 | |
321 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xa9 | |
322 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xaa | |
323 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xab | |
324 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xac | |
325 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xad | |
326 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xae | |
327 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xaf | |
328 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb0 | |
329 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb1 | |
330 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb2 | |
331 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb3 | |
332 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb4 | |
333 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb5 | |
334 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb6 | |
335 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb7 | |
336 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb8 | |
337 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xb9 | |
338 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xba | |
339 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbb | |
340 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbc | |
341 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbd | |
342 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbe | |
343 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xbf | |
344 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc0 | |
345 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc1 | |
346 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc2 | |
347 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc3 | |
348 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc4 | |
349 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc5 | |
350 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc6 | |
351 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc7 | |
352 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc8 | |
353 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xc9 | |
354 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xca | |
355 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcb | |
356 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcc | |
357 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcd | |
358 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xce | |
359 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xcf | |
360 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd0 | |
361 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd1 | |
362 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd2 | |
363 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd3 | |
364 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd4 | |
365 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd5 | |
366 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd6 | |
367 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd7 | |
368 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd8 | |
369 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xd9 | |
370 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xda | |
371 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdb | |
372 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdc | |
373 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdd | |
374 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xde | |
375 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xdf | |
376 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe0 | |
377 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe1 | |
378 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe2 | |
379 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe3 | |
380 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe4 | |
381 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe5 | |
382 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe6 | |
383 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe7 | |
384 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe8 | |
385 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xe9 | |
386 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xea | |
387 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xeb | |
388 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xec | |
389 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xed | |
390 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xee | |
391 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xef | |
392 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf0 | |
393 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf1 | |
394 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf2 | |
395 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf3 | |
396 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf4 | |
397 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf5 | |
398 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf6 | |
399 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf7 | |
400 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf8 | |
401 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xf9 | |
402 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfa | |
403 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfb | |
404 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfc | |
405 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfd | |
406 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xfe | |
407 {h_init, h_end, t_init, t_bin, t_bin, t_bin, t_bin, t_com3, t_com3, t_com3, t_disc, u_init, u_init, u_init, u_reco, d_init, d_init, d_init, e_init, e_init, e_init, m_init, m_init, m_init, b_init, b_init, b_init, b_init, uu_init, uu_init, uu_init, uu_init, }, // 0xff | |
6 | 408 }; |
409 | |
410 | |
411 u_char hex_decode[256] = { | |
117 | 412 0, // 0x00 |
413 0, // 0x01 | |
414 0, // 0x02 | |
415 0, // 0x03 | |
416 0, // 0x04 | |
417 0, // 0x05 | |
418 0, // 0x06 | |
419 0, // 0x07 | |
420 0, // 0x08 | |
421 0, // 0x09 <tab> | |
422 0, // 0x0a <lf> | |
423 0, // 0x0b | |
424 0, // 0x0c | |
425 0, // 0x0d <cr> | |
426 0, // 0x0e | |
427 0, // 0x0f | |
428 0, // 0x10 | |
429 0, // 0x11 xon char | |
430 0, // 0x12 | |
431 0, // 0x13 xoff char | |
432 0, // 0x14 | |
433 0, // 0x15 | |
434 0, // 0x16 | |
435 0, // 0x17 | |
436 0, // 0x18 | |
437 0, // 0x19 | |
438 0, // 0x1a | |
439 0, // 0x1b | |
440 0, // 0x1c | |
441 0, // 0x1d | |
442 0, // 0x1e | |
443 0, // 0x1f | |
444 0, // 0x20 space | |
445 0, // 0x21 ! | |
446 0, // 0x22 "" | |
447 0, // 0x23 # | |
448 0, // 0x24 $ | |
449 0, // 0x25 % | |
450 0, // 0x26 & | |
451 0, // 0x27 ' | |
452 0, // 0x28 ( | |
453 0, // 0x29 ) | |
454 0, // 0x2A * | |
455 0, // 0x2B + | |
456 0, // 0x2C , | |
457 0, // 0x2D - | |
458 0, // 0x2E . | |
459 0, // 0x2F / | |
460 0, // 0x30 0 | |
461 1, // 0x31 1 | |
462 2, // 0x32 2 | |
463 3, // 0x33 3 | |
464 4, // 0x34 4 | |
465 5, // 0x35 5 | |
466 6, // 0x36 6 | |
467 7, // 0x37 7 | |
468 8, // 0x38 8 | |
469 9, // 0x39 9 | |
470 0, // 0x3A : | |
471 0, // 0x3B ; | |
472 0, // 0x3C < | |
473 0, // 0x3D = | |
474 0, // 0x3E > | |
475 0, // 0x3F ? | |
476 0, // 0x40 @ | |
477 10, // 0x41 A | |
478 11, // 0x42 B | |
479 12, // 0x43 C | |
480 13, // 0x44 D | |
481 14, // 0x45 E | |
482 15, // 0x46 F | |
483 0, // 0x47 G | |
484 0, // 0x48 H | |
485 0, // 0x49 I | |
486 0, // 0x4A J | |
487 0, // 0x4B K | |
488 0, // 0x4C L | |
489 0, // 0x4D M | |
490 0, // 0x4E N | |
491 0, // 0x4F O | |
492 0, // 0x50 P | |
493 0, // 0x51 Q | |
494 0, // 0x52 R | |
495 0, // 0x53 S | |
496 0, // 0x54 T | |
497 0, // 0x55 U | |
498 0, // 0x56 V | |
499 0, // 0x57 W | |
500 0, // 0x58 X | |
501 0, // 0x59 Y | |
502 0, // 0x5A Z | |
503 0, // 0x5B [ | |
504 0, // 0x5C backslash | |
505 0, // 0x5D ] | |
506 0, // 0x5E ^ | |
507 0, // 0x5F _ | |
508 0, // 0x60 ` | |
509 10, // 0x61 a | |
510 11, // 0x62 b | |
511 12, // 0x63 c | |
512 13, // 0x64 d | |
513 14, // 0x65 e | |
514 15, // 0x66 f | |
515 0, // 0x67 g | |
516 0, // 0x68 h | |
517 0, // 0x69 i | |
518 0, // 0x6A j | |
519 0, // 0x6B k | |
520 0, // 0x6C l | |
521 0, // 0x6D m | |
522 0, // 0x6E n | |
523 0, // 0x6F o | |
524 0, // 0x70 p | |
525 0, // 0x71 q | |
526 0, // 0x72 r | |
527 0, // 0x73 s | |
528 0, // 0x74 t | |
529 0, // 0x75 u | |
530 0, // 0x76 v | |
531 0, // 0x77 w | |
532 0, // 0x78 x | |
533 0, // 0x79 y | |
534 0, // 0x7A z | |
535 0, // 0x7B { | |
536 0, // 0x7C | | |
537 0, // 0x7D } | |
538 0, // 0x7E ~ | |
539 0, // 0x7f | |
540 0, // 0x80 | |
541 0, // 0x81 | |
542 0, // 0x82 | |
543 0, // 0x83 | |
544 0, // 0x84 | |
545 0, // 0x85 | |
546 0, // 0x86 | |
547 0, // 0x87 | |
548 0, // 0x88 | |
549 0, // 0x89 | |
550 0, // 0x8a | |
551 0, // 0x8b | |
552 0, // 0x8c | |
553 0, // 0x8d | |
554 0, // 0x8e | |
555 0, // 0x8f | |
556 0, // 0x90 | |
557 0, // 0x91 | |
558 0, // 0x92 | |
559 0, // 0x93 | |
560 0, // 0x94 | |
561 0, // 0x95 | |
562 0, // 0x96 | |
563 0, // 0x97 | |
564 0, // 0x98 | |
565 0, // 0x99 | |
566 0, // 0x9a | |
567 0, // 0x9b | |
568 0, // 0x9c | |
569 0, // 0x9d | |
570 0, // 0x9e | |
571 0, // 0x9f | |
572 0, // 0xa0 | |
573 0, // 0xa1 | |
574 0, // 0xa2 | |
575 0, // 0xa3 | |
576 0, // 0xa4 | |
577 0, // 0xa5 | |
578 0, // 0xa6 | |
579 0, // 0xa7 | |
580 0, // 0xa8 | |
581 0, // 0xa9 | |
582 0, // 0xaa | |
583 0, // 0xab | |
584 0, // 0xac | |
585 0, // 0xad | |
586 0, // 0xae | |
587 0, // 0xaf | |
588 0, // 0xb0 | |
589 0, // 0xb1 | |
590 0, // 0xb2 | |
591 0, // 0xb3 | |
592 0, // 0xb4 | |
593 0, // 0xb5 | |
594 0, // 0xb6 | |
595 0, // 0xb7 | |
596 0, // 0xb8 | |
597 0, // 0xb9 | |
598 0, // 0xba | |
599 0, // 0xbb | |
600 0, // 0xbc | |
601 0, // 0xbd | |
602 0, // 0xbe | |
603 0, // 0xbf | |
604 0, // 0xc0 | |
605 0, // 0xc1 | |
606 0, // 0xc2 | |
607 0, // 0xc3 | |
608 0, // 0xc4 | |
609 0, // 0xc5 | |
610 0, // 0xc6 | |
611 0, // 0xc7 | |
612 0, // 0xc8 | |
613 0, // 0xc9 | |
614 0, // 0xca | |
615 0, // 0xcb | |
616 0, // 0xcc | |
617 0, // 0xcd | |
618 0, // 0xce | |
619 0, // 0xcf | |
620 0, // 0xd0 | |
621 0, // 0xd1 | |
622 0, // 0xd2 | |
623 0, // 0xd3 | |
624 0, // 0xd4 | |
625 0, // 0xd5 | |
626 0, // 0xd6 | |
627 0, // 0xd7 | |
628 0, // 0xd8 | |
629 0, // 0xd9 | |
630 0, // 0xda | |
631 0, // 0xdb | |
632 0, // 0xdc | |
633 0, // 0xdd | |
634 0, // 0xde | |
635 0, // 0xdf | |
636 0, // 0xe0 | |
637 0, // 0xe1 | |
638 0, // 0xe2 | |
639 0, // 0xe3 | |
640 0, // 0xe4 | |
641 0, // 0xe5 | |
642 0, // 0xe6 | |
643 0, // 0xe7 | |
644 0, // 0xe8 | |
645 0, // 0xe9 | |
646 0, // 0xea | |
647 0, // 0xeb | |
648 0, // 0xec | |
649 0, // 0xed | |
650 0, // 0xee | |
651 0, // 0xef | |
652 0, // 0xf0 | |
653 0, // 0xf1 | |
654 0, // 0xf2 | |
655 0, // 0xf3 | |
656 0, // 0xf4 | |
657 0, // 0xf5 | |
658 0, // 0xf6 | |
659 0, // 0xf7 | |
660 0, // 0xf8 | |
661 0, // 0xf9 | |
662 0, // 0xfa | |
663 0, // 0xfb | |
664 0, // 0xfc | |
665 0, // 0xfd | |
666 0, // 0xfe | |
667 0, // 0xff | |
6 | 668 }; |
7 | 669 |
6 | 670 u_char b64_decode[256] = { |
117 | 671 0, // 0x00 |
672 0, // 0x01 | |
673 0, // 0x02 | |
674 0, // 0x03 | |
675 0, // 0x04 | |
676 0, // 0x05 | |
677 0, // 0x06 | |
678 0, // 0x07 | |
679 0, // 0x08 | |
680 0, // 0x09 <tab> | |
681 0, // 0x0a <lf> | |
682 0, // 0x0b | |
683 0, // 0x0c | |
684 0, // 0x0d <cr> | |
685 0, // 0x0e | |
686 0, // 0x0f | |
687 0, // 0x10 | |
688 0, // 0x11 xon char | |
689 0, // 0x12 | |
690 0, // 0x13 xoff char | |
691 0, // 0x14 | |
692 0, // 0x15 | |
693 0, // 0x16 | |
694 0, // 0x17 | |
695 0, // 0x18 | |
696 0, // 0x19 | |
697 0, // 0x1a | |
698 0, // 0x1b | |
699 0, // 0x1c | |
700 0, // 0x1d | |
701 0, // 0x1e | |
702 0, // 0x1f | |
703 0, // 0x20 space | |
704 0, // 0x21 ! | |
705 0, // 0x22 " | |
706 0, // 0x23 # | |
707 0, // 0x24 $ | |
708 0, // 0x25 % | |
709 0, // 0x26 & | |
710 0, // 0x27 ' | |
711 0, // 0x28 ( | |
712 0, // 0x29 ) | |
713 0, // 0x2A * | |
714 62, // 0x2B + | |
715 0, // 0x2C , | |
716 0, // 0x2D - | |
717 0, // 0x2E . | |
718 63, // 0x2F / | |
719 52, // 0x30 0 | |
720 53, // 0x31 1 | |
721 54, // 0x32 2 | |
722 55, // 0x33 3 | |
723 56, // 0x34 4 | |
724 57, // 0x35 5 | |
725 58, // 0x36 6 | |
726 59, // 0x37 7 | |
727 60, // 0x38 8 | |
728 61, // 0x39 9 | |
729 0, // 0x3A : | |
730 0, // 0x3B ; | |
731 0, // 0x3C < | |
732 0, // 0x3D = | |
733 0, // 0x3E > | |
734 0, // 0x3F ? | |
735 0, // 0x40 @ | |
736 0, // 0x41 A | |
737 1, // 0x42 B | |
738 2, // 0x43 C | |
739 3, // 0x44 D | |
740 4, // 0x45 E | |
741 5, // 0x46 F | |
742 6, // 0x47 G | |
743 7, // 0x48 H | |
744 8, // 0x49 I | |
745 9, // 0x4A J | |
746 10, // 0x4B K | |
747 11, // 0x4C L | |
748 12, // 0x4D M | |
749 13, // 0x4E N | |
750 14, // 0x4F O | |
751 15, // 0x50 P | |
752 16, // 0x51 Q | |
753 17, // 0x52 R | |
754 18, // 0x53 S | |
755 19, // 0x54 T | |
756 20, // 0x55 U | |
757 21, // 0x56 V | |
758 22, // 0x57 W | |
759 23, // 0x58 X | |
760 24, // 0x59 Y | |
761 25, // 0x5A Z | |
762 0, // 0x5B [ | |
763 0, // 0x5C backslash | |
764 0, // 0x5D ] | |
765 0, // 0x5E ^ | |
766 0, // 0x5F _ | |
767 0, // 0x60 ` | |
768 26, // 0x61 a | |
769 27, // 0x62 b | |
770 28, // 0x63 c | |
771 29, // 0x64 d | |
772 30, // 0x65 e | |
773 31, // 0x66 f | |
774 32, // 0x67 g | |
775 33, // 0x68 h | |
776 34, // 0x69 i | |
777 35, // 0x6A j | |
778 36, // 0x6B k | |
779 37, // 0x6C l | |
780 38, // 0x6D m | |
781 39, // 0x6E n | |
782 40, // 0x6F o | |
783 41, // 0x70 p | |
784 42, // 0x71 q | |
785 43, // 0x72 r | |
786 44, // 0x73 s | |
787 45, // 0x74 t | |
788 46, // 0x75 u | |
789 47, // 0x76 v | |
790 48, // 0x77 w | |
791 49, // 0x78 x | |
792 50, // 0x79 y | |
793 51, // 0x7A z | |
794 0, // 0x7B { | |
795 0, // 0x7C | | |
796 0, // 0x7D } | |
797 0, // 0x7E ~ | |
798 0, // 0x7f | |
799 0, // 0x80 | |
800 0, // 0x81 | |
801 0, // 0x82 | |
802 0, // 0x83 | |
803 0, // 0x84 | |
804 0, // 0x85 | |
805 0, // 0x86 | |
806 0, // 0x87 | |
807 0, // 0x88 | |
808 0, // 0x89 | |
809 0, // 0x8a | |
810 0, // 0x8b | |
811 0, // 0x8c | |
812 0, // 0x8d | |
813 0, // 0x8e | |
814 0, // 0x8f | |
815 0, // 0x90 | |
816 0, // 0x91 | |
817 0, // 0x92 | |
818 0, // 0x93 | |
819 0, // 0x94 | |
820 0, // 0x95 | |
821 0, // 0x96 | |
822 0, // 0x97 | |
823 0, // 0x98 | |
824 0, // 0x99 | |
825 0, // 0x9a | |
826 0, // 0x9b | |
827 0, // 0x9c | |
828 0, // 0x9d | |
829 0, // 0x9e | |
830 0, // 0x9f | |
831 0, // 0xa0 | |
832 0, // 0xa1 | |
833 0, // 0xa2 | |
834 0, // 0xa3 | |
835 0, // 0xa4 | |
836 0, // 0xa5 | |
837 0, // 0xa6 | |
838 0, // 0xa7 | |
839 0, // 0xa8 | |
840 0, // 0xa9 | |
841 0, // 0xaa | |
842 0, // 0xab | |
843 0, // 0xac | |
844 0, // 0xad | |
845 0, // 0xae | |
846 0, // 0xaf | |
847 0, // 0xb0 | |
848 0, // 0xb1 | |
849 0, // 0xb2 | |
850 0, // 0xb3 | |
851 0, // 0xb4 | |
852 0, // 0xb5 | |
853 0, // 0xb6 | |
854 0, // 0xb7 | |
855 0, // 0xb8 | |
856 0, // 0xb9 | |
857 0, // 0xba | |
858 0, // 0xbb | |
859 0, // 0xbc | |
860 0, // 0xbd | |
861 0, // 0xbe | |
862 0, // 0xbf | |
863 0, // 0xc0 | |
864 0, // 0xc1 | |
865 0, // 0xc2 | |
866 0, // 0xc3 | |
867 0, // 0xc4 | |
868 0, // 0xc5 | |
869 0, // 0xc6 | |
870 0, // 0xc7 | |
871 0, // 0xc8 | |
872 0, // 0xc9 | |
873 0, // 0xca | |
874 0, // 0xcb | |
875 0, // 0xcc | |
876 0, // 0xcd | |
877 0, // 0xce | |
878 0, // 0xcf | |
879 0, // 0xd0 | |
880 0, // 0xd1 | |
881 0, // 0xd2 | |
882 0, // 0xd3 | |
883 0, // 0xd4 | |
884 0, // 0xd5 | |
885 0, // 0xd6 | |
886 0, // 0xd7 | |
887 0, // 0xd8 | |
888 0, // 0xd9 | |
889 0, // 0xda | |
890 0, // 0xdb | |
891 0, // 0xdc | |
892 0, // 0xdd | |
893 0, // 0xde | |
894 0, // 0xdf | |
895 0, // 0xe0 | |
896 0, // 0xe1 | |
897 0, // 0xe2 | |
898 0, // 0xe3 | |
899 0, // 0xe4 | |
900 0, // 0xe5 | |
901 0, // 0xe6 | |
902 0, // 0xe7 | |
903 0, // 0xe8 | |
904 0, // 0xe9 | |
905 0, // 0xea | |
906 0, // 0xeb | |
907 0, // 0xec | |
908 0, // 0xed | |
909 0, // 0xee | |
910 0, // 0xef | |
911 0, // 0xf0 | |
912 0, // 0xf1 | |
913 0, // 0xf2 | |
914 0, // 0xf3 | |
915 0, // 0xf4 | |
916 0, // 0xf5 | |
917 0, // 0xf6 | |
918 0, // 0xf7 | |
919 0, // 0xf8 | |
920 0, // 0xf9 | |
921 0, // 0xfa | |
922 0, // 0xfb | |
923 0, // 0xfc | |
924 0, // 0xfd | |
925 0, // 0xfe | |
926 0, // 0xff | |
6 | 927 }; |
928 | |
67 | 929 u_char uu_decode[256] = { |
117 | 930 0, // 0x00 |
931 0, // 0x01 | |
932 0, // 0x02 | |
933 0, // 0x03 | |
934 0, // 0x04 | |
935 0, // 0x05 | |
936 0, // 0x06 | |
937 0, // 0x07 | |
938 0, // 0x08 | |
939 0, // 0x09 <tab> | |
940 0, // 0x0a <lf> | |
941 0, // 0x0b | |
942 0, // 0x0c | |
943 0, // 0x0d <cr> | |
944 0, // 0x0e | |
945 0, // 0x0f | |
946 0, // 0x10 | |
947 0, // 0x11 xon char | |
948 0, // 0x12 | |
949 0, // 0x13 xoff char | |
950 0, // 0x14 | |
951 0, // 0x15 | |
952 0, // 0x16 | |
953 0, // 0x17 | |
954 0, // 0x18 | |
955 0, // 0x19 | |
956 0, // 0x1a | |
957 0, // 0x1b | |
958 0, // 0x1c | |
959 0, // 0x1d | |
960 0, // 0x1e | |
961 0, // 0x1f | |
962 0, // 0x20 space | |
963 1, // 0x21 ! | |
964 2, // 0x22 " | |
965 3, // 0x23 # | |
966 4, // 0x24 $ | |
967 5, // 0x25 % | |
968 6, // 0x26 & | |
969 7, // 0x27 ' | |
970 8, // 0x28 ( | |
971 9, // 0x29 ) | |
972 10, // 0x2A * | |
973 11, // 0x2B + | |
974 12, // 0x2C , | |
975 13, // 0x2D - | |
976 14, // 0x2E . | |
977 15, // 0x2F / | |
978 16, // 0x30 0 | |
979 17, // 0x31 1 | |
980 18, // 0x32 2 | |
981 19, // 0x33 3 | |
982 20, // 0x34 4 | |
983 21, // 0x35 5 | |
984 22, // 0x36 6 | |
985 23, // 0x37 7 | |
986 24, // 0x38 8 | |
987 25, // 0x39 9 | |
988 26, // 0x3A : | |
989 27, // 0x3B ; | |
990 28, // 0x3C < | |
991 29, // 0x3D = | |
992 30, // 0x3E > | |
993 31, // 0x3F ? | |
994 32, // 0x40 @ | |
995 33, // 0x41 A | |
996 34, // 0x42 B | |
997 35, // 0x43 C | |
998 36, // 0x44 D | |
999 37, // 0x45 E | |
1000 38, // 0x46 F | |
1001 39, // 0x47 G | |
1002 40, // 0x48 H | |
1003 41, // 0x49 I | |
1004 42, // 0x4A J | |
1005 43, // 0x4B K | |
1006 44, // 0x4C L | |
1007 45, // 0x4D M | |
1008 46, // 0x4E N | |
1009 47, // 0x4F O | |
1010 48, // 0x50 P | |
1011 49, // 0x51 Q | |
1012 50, // 0x52 R | |
1013 51, // 0x53 S | |
1014 52, // 0x54 T | |
1015 53, // 0x55 U | |
1016 54, // 0x56 V | |
1017 55, // 0x57 W | |
1018 56, // 0x58 X | |
1019 57, // 0x59 Y | |
1020 58, // 0x5A Z | |
1021 59, // 0x5B [ | |
1022 60, // 0x5C backslash | |
1023 61, // 0x5D ] | |
1024 62, // 0x5E ^ | |
1025 63, // 0x5F _ | |
1026 0, // 0x60 ` | |
1027 0, // 0x61 a | |
1028 0, // 0x62 b | |
1029 0, // 0x63 c | |
1030 0, // 0x64 d | |
1031 0, // 0x65 e | |
1032 0, // 0x66 f | |
1033 0, // 0x67 g | |
1034 0, // 0x68 h | |
1035 0, // 0x69 i | |
1036 0, // 0x6A j | |
1037 0, // 0x6B k | |
1038 0, // 0x6C l | |
1039 0, // 0x6D m | |
1040 0, // 0x6E n | |
1041 0, // 0x6F o | |
1042 0, // 0x70 p | |
1043 0, // 0x71 q | |
1044 0, // 0x72 r | |
1045 0, // 0x73 s | |
1046 0, // 0x74 t | |
1047 0, // 0x75 u | |
1048 0, // 0x76 v | |
1049 0, // 0x77 w | |
1050 0, // 0x78 x | |
1051 0, // 0x79 y | |
1052 0, // 0x7A z | |
1053 0, // 0x7B { | |
1054 0, // 0x7C | | |
1055 0, // 0x7D } | |
1056 0, // 0x7E ~ | |
1057 0, // 0x7f | |
1058 0, // 0x80 | |
1059 0, // 0x81 | |
1060 0, // 0x82 | |
1061 0, // 0x83 | |
1062 0, // 0x84 | |
1063 0, // 0x85 | |
1064 0, // 0x86 | |
1065 0, // 0x87 | |
1066 0, // 0x88 | |
1067 0, // 0x89 | |
1068 0, // 0x8a | |
1069 0, // 0x8b | |
1070 0, // 0x8c | |
1071 0, // 0x8d | |
1072 0, // 0x8e | |
1073 0, // 0x8f | |
1074 0, // 0x90 | |
1075 0, // 0x91 | |
1076 0, // 0x92 | |
1077 0, // 0x93 | |
1078 0, // 0x94 | |
1079 0, // 0x95 | |
1080 0, // 0x96 | |
1081 0, // 0x97 | |
1082 0, // 0x98 | |
1083 0, // 0x99 | |
1084 0, // 0x9a | |
1085 0, // 0x9b | |
1086 0, // 0x9c | |
1087 0, // 0x9d | |
1088 0, // 0x9e | |
1089 0, // 0x9f | |
1090 0, // 0xa0 | |
1091 0, // 0xa1 | |
1092 0, // 0xa2 | |
1093 0, // 0xa3 | |
1094 0, // 0xa4 | |
1095 0, // 0xa5 | |
1096 0, // 0xa6 | |
1097 0, // 0xa7 | |
1098 0, // 0xa8 | |
1099 0, // 0xa9 | |
1100 0, // 0xaa | |
1101 0, // 0xab | |
1102 0, // 0xac | |
1103 0, // 0xad | |
1104 0, // 0xae | |
1105 0, // 0xaf | |
1106 0, // 0xb0 | |
1107 0, // 0xb1 | |
1108 0, // 0xb2 | |
1109 0, // 0xb3 | |
1110 0, // 0xb4 | |
1111 0, // 0xb5 | |
1112 0, // 0xb6 | |
1113 0, // 0xb7 | |
1114 0, // 0xb8 | |
1115 0, // 0xb9 | |
1116 0, // 0xba | |
1117 0, // 0xbb | |
1118 0, // 0xbc | |
1119 0, // 0xbd | |
1120 0, // 0xbe | |
1121 0, // 0xbf | |
1122 0, // 0xc0 | |
1123 0, // 0xc1 | |
1124 0, // 0xc2 | |
1125 0, // 0xc3 | |
1126 0, // 0xc4 | |
1127 0, // 0xc5 | |
1128 0, // 0xc6 | |
1129 0, // 0xc7 | |
1130 0, // 0xc8 | |
1131 0, // 0xc9 | |
1132 0, // 0xca | |
1133 0, // 0xcb | |
1134 0, // 0xcc | |
1135 0, // 0xcd | |
1136 0, // 0xce | |
1137 0, // 0xcf | |
1138 0, // 0xd0 | |
1139 0, // 0xd1 | |
1140 0, // 0xd2 | |
1141 0, // 0xd3 | |
1142 0, // 0xd4 | |
1143 0, // 0xd5 | |
1144 0, // 0xd6 | |
1145 0, // 0xd7 | |
1146 0, // 0xd8 | |
1147 0, // 0xd9 | |
1148 0, // 0xda | |
1149 0, // 0xdb | |
1150 0, // 0xdc | |
1151 0, // 0xdd | |
1152 0, // 0xde | |
1153 0, // 0xdf | |
1154 0, // 0xe0 | |
1155 0, // 0xe1 | |
1156 0, // 0xe2 | |
1157 0, // 0xe3 | |
1158 0, // 0xe4 | |
1159 0, // 0xe5 | |
1160 0, // 0xe6 | |
1161 0, // 0xe7 | |
1162 0, // 0xe8 | |
1163 0, // 0xe9 | |
1164 0, // 0xea | |
1165 0, // 0xeb | |
1166 0, // 0xec | |
1167 0, // 0xed | |
1168 0, // 0xee | |
1169 0, // 0xef | |
1170 0, // 0xf0 | |
1171 0, // 0xf1 | |
1172 0, // 0xf2 | |
1173 0, // 0xf3 | |
1174 0, // 0xf4 | |
1175 0, // 0xf5 | |
1176 0, // 0xf6 | |
1177 0, // 0xf7 | |
1178 0, // 0xf8 | |
1179 0, // 0xf9 | |
1180 0, // 0xfa | |
1181 0, // 0xfb | |
1182 0, // 0xfc | |
1183 0, // 0xfd | |
1184 0, // 0xfe | |
1185 0, // 0xff | |
67 | 1186 }; |
1187 | |
6 | 1188 |
73 | 1189 //////////////////////////////////////////////// |
1190 // | |
1191 // | |
117 | 1192 recorder::recorder(mlfiPriv *priv_, string_set &html_tags_, string_set &tlds_, string_set &cctlds_) { |
1193 priv = priv_; | |
1194 html_tags = &html_tags_; | |
1195 tlds = &tlds_; | |
1196 cctlds = &cctlds_; | |
1197 bad_html_tags = 0; | |
1198 binary_tags = 0; | |
73 | 1199 } |
1200 void recorder::empty() { | |
117 | 1201 bad_html_tags = 0; |
1202 binary_tags = 0; | |
1203 discard(hosts); | |
73 | 1204 } |
1205 void recorder::new_url(char *host) { | |
117 | 1206 register_string(hosts, host); |
73 | 1207 } |
1208 void recorder::binary() { | |
117 | 1209 binary_tags++; |
73 | 1210 } |
1211 void recorder::new_tag(char *tag) { | |
117 | 1212 string_set::iterator i = html_tags->find(tag); |
1213 if (i == html_tags->end()) { | |
1214 bad_html_tags++; | |
1215 if ((debug_syslog > 2) && (bad_html_tags < 10)) { | |
1216 // only log the first 10 bad tags | |
1217 char buf[200]; | |
1218 snprintf(buf, sizeof(buf), "bad html tag %s", tag); | |
1219 my_syslog(priv, buf); | |
1220 } | |
1221 } | |
73 | 1222 } |
6 | 1223 |
73 | 1224 |
1225 //////////////////////////////////////////////// | |
1226 // | |
1227 // | |
147 | 1228 fsa::fsa(char *myname_, state init_, fsa *next1_, fsa *next2_, recorder *memory_) { |
1229 myname = myname_; | |
117 | 1230 count = 0; |
1231 st = init_; | |
1232 init = init_; | |
1233 next1 = next1_; | |
1234 next2 = next2_; | |
1235 memory = memory_; | |
6 | 1236 } |
1237 | |
19
b8f5fa3dd5b8
fix problems in the state transitions causing impossible states
carl
parents:
18
diff
changeset
|
1238 void fsa::error(char *err) { |
117 | 1239 count = 0; |
1240 st = init; | |
147 | 1241 if (err) memory->syslog(err); |
19
b8f5fa3dd5b8
fix problems in the state transitions causing impossible states
carl
parents:
18
diff
changeset
|
1242 } |
b8f5fa3dd5b8
fix problems in the state transitions causing impossible states
carl
parents:
18
diff
changeset
|
1243 |
16 | 1244 void fsa::pusher() { |
117 | 1245 if (next1) next1->push(pending, count); |
1246 if (next2) next2->push(pending, count); | |
1247 count = 0; | |
1248 } | |
1249 | |
1250 void fsa::validhost () { | |
130
e316f6fd9c39
uribl lookups fully qualified; allow two component host names
carl
parents:
119
diff
changeset
|
1251 // remove trailing periods |
e316f6fd9c39
uribl lookups fully qualified; allow two component host names
carl
parents:
119
diff
changeset
|
1252 while (count && (pending[count-1]== '.')) pending[--count] = '\0'; |
e316f6fd9c39
uribl lookups fully qualified; allow two component host names
carl
parents:
119
diff
changeset
|
1253 if (!count) return; // empty string |
117 | 1254 if (!strchr((const char *)pending, '@')) { |
1255 // not an email address or message id | |
1256 char *p1 = strchr((const char *)pending, '.'); | |
1257 char *p2 = strrchr((const char *)pending, '.'); | |
1258 char *p3 = strstr((const char *)pending, ".."); | |
131
df355d117199
uribl lookups fully qualified; allow two component host names
carl
parents:
130
diff
changeset
|
1259 if (p1 && (p1 != (char*)pending) & !p3) { |
130
e316f6fd9c39
uribl lookups fully qualified; allow two component host names
carl
parents:
119
diff
changeset
|
1260 // have a period, so at least two components, and no empty components |
117 | 1261 in_addr ip; |
147 | 1262 if (inet_aton((const char*)pending, &ip)) { |
143 | 1263 // have an ip address if at least two periods |
1264 if (p1 != p2) memory->new_url((char*)pending); | |
147 | 1265 } |
117 | 1266 else { |
1267 for (int i=0; i<count; i++) pending[i] = tolower(pending[i]); | |
1268 // is last component a tld? | |
1269 string_set::iterator i = memory->get_tlds()->find(p2+1); | |
1270 if (i != memory->get_tlds()->end()) memory->new_url((char*)pending); | |
1271 } | |
1272 } | |
1273 } | |
16 | 1274 } |
1275 | |
6 | 1276 void fsa::push(u_char *buf, int len) { |
147 | 1277 if (debug_syslog > 10) { |
1278 char msg[200], mbuf[200]; | |
1279 int n = sizeof(mbuf) - 1; | |
1280 if (len < n) n = len; | |
1281 memcpy(mbuf, buf, n); | |
1282 mbuf[n] = '\0'; | |
1283 snprintf(msg, sizeof(msg), "%s sees %s", myname, mbuf); | |
1284 msg[sizeof(msg)-1] = '\0'; | |
1285 memory->syslog(msg); | |
1286 } | |
117 | 1287 for (int i=0; i<len; i++) { |
1288 if (count == (PENDING_LIMIT-1)) error(NULL); | |
1289 if (st >= end_state) error("finite state machine impossible state"); | |
1290 u_char c = buf[i]; | |
1291 pending[count++] = c; | |
147 | 1292 if (debug_syslog > 10) { |
1293 char *old1 = state_names[st]; | |
1294 char *new1 = state_names[parse_table[c][st]]; | |
1295 char msg[200]; | |
1296 snprintf(msg, sizeof(msg), "%s at (%d,%c) switches from %s to %s", myname, i, c, old1, new1); | |
1297 memory->syslog(msg); | |
1298 } | |
117 | 1299 st = parse_table[c][st]; |
1300 switch (st) { | |
6 | 1301 |
117 | 1302 ////////////////////////////// |
1303 // host name recognizer | |
1304 case h_end: { | |
1305 if (count > 5) { | |
1306 // need some minimal length host name | |
1307 //otherwise binary files likely to generate false positives | |
1308 pending[--count] = '\0'; // null terminate host name by overwriting the terminator | |
1309 validhost(); | |
1310 } | |
1311 st = h_init; | |
1312 } // fall thru | |
16 | 1313 |
117 | 1314 case h_init: { |
1315 count = 0; | |
1316 } break; | |
16 | 1317 |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1318 |
117 | 1319 ////////////////////////////// |
1320 // html tag discarder | |
1321 case t_bin: { | |
1322 memory->binary(); | |
1323 st = t_disc; | |
1324 count = 0; // discard all characters | |
1325 } break; | |
25
6176e7b2e8af
better scanning for bad html tags, allow binary zip and gz files with random char sequences
carl
parents:
24
diff
changeset
|
1326 |
117 | 1327 case t_end: { |
1328 if (count > 1) { | |
1329 pending[--count] = '\0'; // null terminate html tag | |
1330 for (int i=0; i<count; i++) pending[i] = tolower(pending[i]); | |
1331 memory->new_tag((char*)pending); | |
1332 } | |
1333 st = (c == ' ') ? t_disc : t_init; | |
1334 } // fall thru | |
25
6176e7b2e8af
better scanning for bad html tags, allow binary zip and gz files with random char sequences
carl
parents:
24
diff
changeset
|
1335 |
117 | 1336 case t_tag1: |
1337 case t_com2: | |
1338 case t_com3: | |
1339 case t_com4: | |
1340 case t_com5: | |
1341 case t_disc: { | |
1342 count = 0; // discard all characters | |
1343 } break; | |
16 | 1344 |
117 | 1345 case t_init: { |
1346 pusher(); | |
1347 } break; | |
16 | 1348 |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1349 |
117 | 1350 ////////////////////////////// |
1351 // url recognizer | |
1352 case u_reco: { | |
1353 if (count > 11) { // need some minimal length host name after the protocol | |
1354 pending[--count] = '\0'; // null terminate host name by overwriting the terminator | |
1355 // must start with protocol | |
1356 if (strncasecmp((const char *)pending, "http", 4) == 0) { | |
1357 char *p = strrchr((const char *)pending, '/'); | |
1358 if (p) { | |
1359 count = strlen(p+1); | |
1360 memmove(pending, p+1, count+1); | |
1361 validhost(); | |
1362 } | |
1363 } | |
1364 } | |
1365 st = u_init; | |
1366 } // fall thru | |
7 | 1367 |
117 | 1368 case u_init: { |
1369 count = 0; // discard all characters | |
1370 } break; | |
7 | 1371 |
1372 | |
117 | 1373 ////////////////////////////// |
1374 // url decoder %xx | |
1375 case d_2: { | |
1376 pending[0] = hex_decode[pending[1]] * 16 + hex_decode[pending[2]]; | |
1377 count = 1; | |
1378 st = d_init; | |
1379 } // fall thru | |
1380 | |
1381 case d_init: { | |
1382 pusher(); | |
1383 } break; | |
1384 | |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1385 |
117 | 1386 ////////////////////////////// |
1387 // html entity decoder &#nnn; &#xnnn; | |
1388 case e_semi: { | |
1389 pending[--count] = '\0'; // null terminate the digit string by overwriting the semicolon | |
1390 u_char f = pending[2]; | |
1391 if ((f == 'x') || (f == 'X')) { | |
1392 pending[0] = strtol((const char *)pending+2, (char **)NULL, 16); | |
1393 } | |
1394 else { | |
1395 pending[0] = atoi((const char *)pending+2); | |
1396 } | |
1397 count = 1; | |
1398 st = e_init; | |
1399 } // fall thru | |
1400 | |
1401 case e_init: { | |
1402 pusher(); | |
1403 } break; | |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1404 |
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1405 |
117 | 1406 ////////////////////////////// |
1407 // mime decoder =xx | |
1408 case m_2: { | |
1409 pending[0] = hex_decode[pending[1]] * 16 + hex_decode[pending[2]]; | |
1410 count = 1; | |
1411 st = m_init; | |
1412 } // fall thru | |
6 | 1413 |
117 | 1414 case m_init: { |
1415 pusher(); | |
1416 } break; | |
1417 | |
1418 case m_cr: { | |
1419 count = 1; | |
1420 st = m_eq; | |
1421 } break; | |
1422 | |
1423 case m_nl: { | |
1424 count = 0; | |
1425 st = m_init; | |
1426 } break; | |
16 | 1427 |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1428 |
117 | 1429 ////////////////////////////// |
1430 // base64 decoder | |
1431 case b_lf2: { | |
1432 count--; | |
1433 } break; | |
16 | 1434 |
117 | 1435 case b_cr: { |
1436 if ((count % 4) == 1) { // base64 data with trailing cr | |
1437 count--; // ignore this cr | |
1438 // might have proper b64 data | |
1439 int cnt = 0; | |
1440 for (int i=0; i<count; i+=4) { | |
1441 unsigned long a1 = b64_decode[pending[i]]; | |
1442 unsigned long a2 = b64_decode[pending[i+1]]; | |
1443 unsigned long a3 = b64_decode[pending[i+2]]; | |
1444 unsigned long a4 = b64_decode[pending[i+3]]; | |
1445 unsigned long a = (a1 << 18) | (a2 << 12) | (a3 << 6) | a4; | |
1446 pending[cnt++] = (a & 0x00ff0000) >> 16; | |
1447 pending[cnt++] = (a & 0x0000ff00) >> 8; | |
1448 pending[cnt++] = (a & 0x000000ff); | |
1449 if ((char)pending[i+3] == '=') cnt--; | |
1450 if ((char)pending[i+2] == '=') cnt--; | |
1451 } | |
1452 count = cnt; | |
1453 st = b_lf2; | |
1454 } | |
1455 else st = b_init; | |
1456 } // fall thru | |
16 | 1457 |
117 | 1458 case b_lf: |
1459 case b_init: { | |
1460 pusher(); | |
1461 } break; | |
6 | 1462 |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1463 |
117 | 1464 ////////////////////////////// |
1465 // uuencoding decoder | |
1466 case uu_lf2: { | |
1467 count--; | |
1468 } break; | |
6 | 1469 |
117 | 1470 case uu_cr: { |
1471 if ((count % 4) == 2) { // leading count byte, uuencoded data, trailing cr | |
1472 count--; // ignore this cr | |
1473 int bytes = uu_decode[pending[0]]; // bytes we are supposed to get from this line | |
1474 int size = (bytes+2)/3*4; // encoded size of those bytes | |
1475 if (size == count-1) { // encoded size matches line length | |
1476 // might have proper uu data | |
1477 int cnt = 0; | |
1478 for (int i=1; i<count; i+=4) { | |
1479 unsigned long a1 = uu_decode[pending[i]]; | |
1480 unsigned long a2 = uu_decode[pending[i+1]]; | |
1481 unsigned long a3 = uu_decode[pending[i+2]]; | |
1482 unsigned long a4 = uu_decode[pending[i+3]]; | |
1483 unsigned long a = (a1 << 18) | (a2 << 12) | (a3 << 6) | a4; | |
1484 pending[cnt++] = (a & 0x00ff0000) >> 16; | |
1485 pending[cnt++] = (a & 0x0000ff00) >> 8; | |
1486 pending[cnt++] = (a & 0x000000ff); | |
1487 } | |
1488 count = bytes; | |
1489 st = uu_lf2; | |
1490 } | |
1491 else st = uu_init; | |
1492 } | |
1493 else st = uu_init; | |
1494 } // fall thru | |
6 | 1495 |
117 | 1496 case uu_lf: |
1497 case uu_init: { | |
1498 pusher(); | |
1499 } break; | |
6 | 1500 |
23
06de5ab6a232
add url decoding stage, allow http:/ single / in yahoo redirector, allow ip address hostnames
carl
parents:
19
diff
changeset
|
1501 |
117 | 1502 ////////////////////////////// |
1503 // states that just accumulate characters in the pending buffer | |
1504 case h_host: | |
1505 case t_tag2: | |
1506 case t_com1: | |
1507 case u_http: | |
1508 case u_url: | |
1509 case u_sla: | |
1510 case d_pcnt: | |
1511 case d_1: | |
1512 case e_amp: | |
1513 case e_num: | |
1514 case m_eq: | |
1515 case m_1: | |
1516 case b_64: | |
1517 case uu_64: | |
1518 default: { | |
1519 } break; | |
1520 } | |
1521 } | |
6 | 1522 } |
1523 | |
1524 | |
73 | 1525 //////////////////////////////////////////////// |
1526 // | |
1527 // | |
24 | 1528 url_scanner::url_scanner(recorder *memory) { |
147 | 1529 host_parser = new fsa("host_parser", h_init, NULL, NULL, memory); |
1530 tags_parser = new fsa("tags_parser", t_init, host_parser, NULL, memory); | |
1531 urls_parser = new fsa("urls_parser", u_init, NULL, NULL, memory); | |
1532 urld_parser = new fsa("urld_parser", d_init, urls_parser, tags_parser, memory); | |
1533 html_parser = new fsa("html_parser", e_init, urld_parser, NULL, memory); | |
1534 mime_parser = new fsa("mime_parser", m_init, html_parser, NULL, memory); | |
1535 b64_parser = new fsa("b64_parser ", b_init, mime_parser, NULL, memory); | |
1536 uu_parser = new fsa("uu_parser ", uu_init, b64_parser, NULL, memory); | |
6 | 1537 } |
1538 | |
8 | 1539 url_scanner::~url_scanner() { |
117 | 1540 delete host_parser; |
1541 delete tags_parser; | |
1542 delete urls_parser; | |
1543 delete urld_parser; | |
1544 delete html_parser; | |
1545 delete mime_parser; | |
1546 delete b64_parser; | |
1547 delete uu_parser; | |
6 | 1548 } |
1549 | |
8 | 1550 void url_scanner::scan(u_char *buffer, size_t length) { |
117 | 1551 uu_parser->push(buffer, length); |
6 | 1552 } |
1553 |