16 |
|
* along with this program; if not, write to the Free Software |
17 |
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
18 |
|
* |
19 |
< |
* $Id: match.c,v 7.44 2005/08/14 07:26:45 michael Exp $ |
19 |
> |
* $Id$ |
20 |
|
* |
21 |
|
*/ |
22 |
|
|
23 |
|
#include "stdinc.h" |
24 |
|
#include "irc_string.h" |
25 |
– |
#include "irc_getaddrinfo.h" |
26 |
– |
#include "client.h" |
25 |
|
#include "ircd.h" |
26 |
|
|
29 |
– |
/* Fix "statement not reached" warnings on Sun WorkShop C */ |
30 |
– |
#ifdef __SUNPRO_C |
31 |
– |
# pragma error_messages(off, E_STATEMENT_NOT_REACHED) |
32 |
– |
#endif |
33 |
– |
|
34 |
– |
/* match() |
35 |
– |
* |
36 |
– |
* Compare if a given string (name) matches the given |
37 |
– |
* mask (which can contain wild cards: '*' - match any |
38 |
– |
* number of chars, '?' - match any single character. |
39 |
– |
* |
40 |
– |
* return 1, if match |
41 |
– |
* 0, if no match |
42 |
– |
* |
43 |
– |
* Originally by Douglas A Lewis (dalewis@acsu.buffalo.edu) |
44 |
– |
*/ |
45 |
– |
int |
46 |
– |
match(const char *mask, const char *name) |
47 |
– |
{ |
48 |
– |
const unsigned char* m = (const unsigned char *) mask; |
49 |
– |
const unsigned char* n = (const unsigned char *) name; |
50 |
– |
const unsigned char* ma = NULL; |
51 |
– |
const unsigned char* na = (const unsigned char *) name; |
52 |
– |
|
53 |
– |
assert(mask != NULL); |
54 |
– |
assert(name != NULL); |
55 |
– |
|
56 |
– |
while (1) |
57 |
– |
{ |
58 |
– |
if (*m == '*') |
59 |
– |
{ |
60 |
– |
/* |
61 |
– |
* XXX - shouldn't need to spin here, the mask should have been |
62 |
– |
* collapsed before match is called |
63 |
– |
*/ |
64 |
– |
while (*m == '*') |
65 |
– |
m++; |
66 |
– |
ma = m; |
67 |
– |
na = n; |
68 |
– |
} |
69 |
– |
|
70 |
– |
if (!*m) |
71 |
– |
{ |
72 |
– |
if (!*n) |
73 |
– |
return 1; |
74 |
– |
if (!ma) |
75 |
– |
return 0; |
76 |
– |
for (m--; (m > (const unsigned char*) mask) && (*m == '?'); m--) |
77 |
– |
; |
78 |
– |
if (*m == '*') |
79 |
– |
return 1; |
80 |
– |
m = ma; |
81 |
– |
n = ++na; |
82 |
– |
} |
83 |
– |
else if (!*n) |
84 |
– |
{ |
85 |
– |
/* |
86 |
– |
* XXX - shouldn't need to spin here, the mask should have been |
87 |
– |
* collapsed before match is called |
88 |
– |
*/ |
89 |
– |
while (*m == '*') |
90 |
– |
m++; |
91 |
– |
return (*m == 0); |
92 |
– |
} |
93 |
– |
|
94 |
– |
if (ToLower(*m) != ToLower(*n) && *m != '?' && (*m != '#' || !IsDigit(*n))) |
95 |
– |
{ |
96 |
– |
if (!ma) |
97 |
– |
return 0; |
98 |
– |
m = ma; |
99 |
– |
n = ++na; |
100 |
– |
} |
101 |
– |
else |
102 |
– |
m++, n++; |
103 |
– |
} |
104 |
– |
|
105 |
– |
return 0; |
106 |
– |
} |
27 |
|
|
28 |
< |
/* match_esc() |
29 |
< |
* |
30 |
< |
* The match() function with support for escaping characters such |
31 |
< |
* as '*' and '?' |
28 |
> |
/*! \brief Check a string against a mask. |
29 |
> |
* This test checks using traditional IRC wildcards only: '*' means |
30 |
> |
* match zero or more characters of any type; '?' means match exactly |
31 |
> |
* one character of any type. A backslash escapes the next character |
32 |
> |
* so that a wildcard may be matched exactly. |
33 |
> |
* param mask Wildcard-containing mask. |
34 |
> |
* param name String to check against \a mask. |
35 |
> |
* return Zero if \a mask matches \a name, non-zero if no match. |
36 |
|
*/ |
37 |
|
int |
38 |
< |
match_esc(const char *mask, const char *name) |
38 |
> |
match(const char *mask, const char *name) |
39 |
|
{ |
40 |
< |
const unsigned char *m = (const unsigned char *) mask; |
41 |
< |
const unsigned char *n = (const unsigned char *) name; |
42 |
< |
const unsigned char *ma = NULL; |
119 |
< |
const unsigned char *na = (const unsigned char *) name; |
120 |
< |
|
121 |
< |
assert(mask != NULL); |
122 |
< |
assert(name != NULL); |
40 |
> |
const char *m = mask, *n = name; |
41 |
> |
const char *m_tmp = mask, *n_tmp = name; |
42 |
> |
int star = 0; |
43 |
|
|
44 |
|
while (1) |
45 |
|
{ |
46 |
< |
if (*m == '*') |
46 |
> |
switch (*m) |
47 |
|
{ |
48 |
< |
/* |
49 |
< |
* XXX - shouldn't need to spin here, the mask should have been |
50 |
< |
* collapsed before match is called |
51 |
< |
*/ |
52 |
< |
while (*m == '*') |
48 |
> |
case '\0': |
49 |
> |
if (!*n) |
50 |
> |
return 0; |
51 |
> |
backtrack: |
52 |
> |
if (m_tmp == mask) |
53 |
> |
return 1; |
54 |
> |
m = m_tmp; |
55 |
> |
n = ++n_tmp; |
56 |
> |
if (*n == '\0') |
57 |
> |
return 1; |
58 |
> |
break; |
59 |
> |
case '\\': |
60 |
|
m++; |
61 |
< |
ma = m; |
62 |
< |
na = n; |
63 |
< |
} |
64 |
< |
|
65 |
< |
if (!*m) |
66 |
< |
{ |
67 |
< |
if (!*n) |
68 |
< |
return 1; |
69 |
< |
if (!ma) |
70 |
< |
return 0; |
71 |
< |
for (m--; (m > (const unsigned char*) mask) && (*m == '?'); m--) |
72 |
< |
; |
73 |
< |
if (*m == '*') |
74 |
< |
return 1; |
75 |
< |
m = ma; |
76 |
< |
n = ++na; |
77 |
< |
} |
78 |
< |
else if (!*n) |
79 |
< |
{ |
80 |
< |
/* |
81 |
< |
* XXX - shouldn't need to spin here, the mask should have been |
82 |
< |
* collapsed before match is called |
83 |
< |
*/ |
84 |
< |
while (*m == '*') |
61 |
> |
/* allow escaping to force capitalization */ |
62 |
> |
if (*m++ != *n++) |
63 |
> |
goto backtrack; |
64 |
> |
break; |
65 |
> |
case '*': |
66 |
> |
case '?': |
67 |
> |
for (star = 0; ; m++) |
68 |
> |
{ |
69 |
> |
if (*m == '*') |
70 |
> |
star = 1; |
71 |
> |
else if (*m == '?') |
72 |
> |
{ |
73 |
> |
if (!*n++) |
74 |
> |
goto backtrack; |
75 |
> |
} |
76 |
> |
else |
77 |
> |
break; |
78 |
> |
} |
79 |
> |
|
80 |
> |
if (star) |
81 |
> |
{ |
82 |
> |
if (!*m) |
83 |
> |
return 0; |
84 |
> |
else if (*m == '\\') |
85 |
> |
{ |
86 |
> |
m_tmp = ++m; |
87 |
> |
if (!*m) |
88 |
> |
return 1; |
89 |
> |
for (n_tmp = n; *n && *n != *m; n++) |
90 |
> |
; |
91 |
> |
} |
92 |
> |
else |
93 |
> |
{ |
94 |
> |
m_tmp = m; |
95 |
> |
for (n_tmp = n; *n && ToLower(*n) != ToLower(*m); n++) |
96 |
> |
; |
97 |
> |
} |
98 |
> |
} |
99 |
> |
/* and fall through */ |
100 |
> |
default: |
101 |
> |
if (!*n) |
102 |
> |
return *m != '\0'; |
103 |
> |
if (ToLower(*m) != ToLower(*n)) |
104 |
> |
goto backtrack; |
105 |
|
m++; |
106 |
< |
return (*m == 0); |
107 |
< |
} |
161 |
< |
|
162 |
< |
if (*m != '?' && (*m != '#' || IsDigit(*n))) |
163 |
< |
{ |
164 |
< |
if (*m == '\\') |
165 |
< |
if (!*++m) |
166 |
< |
return 0; |
167 |
< |
if (ToLower(*m) != ToLower(*n)) |
168 |
< |
{ |
169 |
< |
if (!ma) |
170 |
< |
return 0; |
171 |
< |
m = ma; |
172 |
< |
n = ++na; |
173 |
< |
} |
174 |
< |
else |
175 |
< |
m++, n++; |
106 |
> |
n++; |
107 |
> |
break; |
108 |
|
} |
177 |
– |
else |
178 |
– |
m++, n++; |
179 |
– |
} |
180 |
– |
|
181 |
– |
return 0; |
182 |
– |
} |
183 |
– |
|
184 |
– |
/* match_chan() |
185 |
– |
* |
186 |
– |
* The match_esc() function doing channel prefix auto-escape, |
187 |
– |
* ie. mask: #blah*blah is seen like \#blah*blah |
188 |
– |
*/ |
189 |
– |
int |
190 |
– |
match_chan(const char *mask, const char *name) |
191 |
– |
{ |
192 |
– |
return *mask ? (*mask == *name && match_esc(mask + 1, name + 1)) : !*name; |
193 |
– |
} |
194 |
– |
|
195 |
– |
static inline int |
196 |
– |
comp_with_mask(void *addr, void *dest, unsigned int mask) |
197 |
– |
{ |
198 |
– |
if (memcmp(addr, dest, mask / 8) == 0) |
199 |
– |
{ |
200 |
– |
int n = mask / 8; |
201 |
– |
int m = ((-1) << (8 - (mask % 8))); |
202 |
– |
|
203 |
– |
if (mask % 8 == 0 || |
204 |
– |
(((unsigned char *) addr)[n] & m) == (((unsigned char *) dest)[n] & m)) |
205 |
– |
return 1; |
109 |
|
} |
110 |
|
|
111 |
< |
return 0; |
111 |
> |
return 1; |
112 |
|
} |
113 |
|
|
114 |
< |
/* match_cidr() |
115 |
< |
* |
116 |
< |
* Input - mask, address |
117 |
< |
* Output - 1 = Matched 0 = Did not match |
114 |
> |
/* |
115 |
> |
* collapse() |
116 |
> |
* Collapse a pattern string into minimal components. |
117 |
> |
* This particular version is "in place", so that it changes the pattern |
118 |
> |
* which is to be reduced to a "minimal" size. |
119 |
> |
* |
120 |
> |
* (C) Carlo Wood - 6 Oct 1998 |
121 |
> |
* Speedup rewrite by Andrea Cocito, December 1998. |
122 |
> |
* Note that this new optimized algorithm can *only* work in place. |
123 |
|
*/ |
216 |
– |
int |
217 |
– |
match_cidr(const char *s1, const char *s2) |
218 |
– |
{ |
219 |
– |
struct irc_ssaddr ipaddr, maskaddr; |
220 |
– |
char address[NICKLEN + USERLEN + HOSTLEN + 6]; |
221 |
– |
char mask[NICKLEN + USERLEN + HOSTLEN + 6]; |
222 |
– |
char *ipmask, *ip, *len; |
223 |
– |
int cidrlen, offset; |
224 |
– |
struct addrinfo hints, *res; |
225 |
– |
|
226 |
– |
/* Unlikely to ever overflow, but we may as well be consistant - stu */ |
227 |
– |
strlcpy(mask, s1, sizeof(mask)); |
228 |
– |
strlcpy(address, s2, sizeof(address)); |
229 |
– |
|
230 |
– |
ipmask = strrchr(mask, '@'); |
231 |
– |
if (ipmask == NULL) |
232 |
– |
return 0; |
233 |
– |
|
234 |
– |
*ipmask++ = '\0'; |
235 |
– |
|
236 |
– |
ip = strrchr(address, '@'); |
237 |
– |
if (ip == NULL) |
238 |
– |
return 0; |
239 |
– |
*ip++ = '\0'; |
240 |
– |
|
241 |
– |
len = strrchr(ipmask, '/'); |
242 |
– |
if (len == NULL) |
243 |
– |
return 0; |
244 |
– |
|
245 |
– |
*len++ = '\0'; |
246 |
– |
|
247 |
– |
cidrlen = atoi(len); |
248 |
– |
if (cidrlen == 0) |
249 |
– |
return 0; |
250 |
– |
|
251 |
– |
memset(&hints, 0, sizeof(hints)); |
252 |
– |
hints.ai_family = AF_UNSPEC; |
253 |
– |
hints.ai_flags = AI_NUMERICHOST; |
254 |
– |
|
255 |
– |
irc_getaddrinfo(ip, NULL, &hints, &res); |
256 |
– |
if (!res) |
257 |
– |
return 0; |
258 |
– |
|
259 |
– |
#ifdef INET6 |
260 |
– |
if (res->ai_family == AF_INET) |
261 |
– |
offset = offsetof(struct sockaddr_in, sin_addr); |
262 |
– |
else if (res->ai_family == AF_INET6) |
263 |
– |
offset = offsetof(struct sockaddr_in6, sin6_addr); |
264 |
– |
else |
265 |
– |
return 0; |
266 |
– |
#else |
267 |
– |
offset = offsetof(struct sockaddr_in, sin_addr); |
268 |
– |
#endif |
269 |
– |
|
270 |
– |
memcpy(&ipaddr, res->ai_addr, res->ai_addrlen); |
271 |
– |
ipaddr.ss_len = res->ai_addrlen; |
272 |
– |
irc_freeaddrinfo(res); |
273 |
– |
|
274 |
– |
if (cidrlen > ipaddr.ss_len * 8) |
275 |
– |
return 0; |
276 |
– |
|
277 |
– |
irc_getaddrinfo(ipmask, NULL, &hints, &res); |
278 |
– |
if (!res) |
279 |
– |
return 0; |
280 |
– |
|
281 |
– |
memcpy(&maskaddr, res->ai_addr, res->ai_addrlen); |
282 |
– |
maskaddr.ss_len = res->ai_addrlen; |
283 |
– |
irc_freeaddrinfo(res); |
284 |
– |
|
285 |
– |
if (maskaddr.ss_len != ipaddr.ss_len) |
286 |
– |
return 0; |
287 |
– |
|
288 |
– |
return (comp_with_mask(((char *) &ipaddr) + offset, ((char *) &maskaddr) + |
289 |
– |
offset, cidrlen) && match(mask, address)); |
290 |
– |
} |
124 |
|
|
125 |
< |
/* collapse() |
126 |
< |
* |
127 |
< |
* collapses a string containing multiple *'s. |
125 |
> |
/*! \brief Collapse a mask string to remove redundancies. |
126 |
> |
* Specifically, it replaces a sequence of '*' followed by additional |
127 |
> |
* '*' or '?' with the same number of '?'s as the input, followed by |
128 |
> |
* one '*'. This minimizes useless backtracking when matching later. |
129 |
> |
* \param mask Mask string to collapse. |
130 |
> |
* \return Pointer to the start of the string. |
131 |
|
*/ |
132 |
|
char * |
133 |
< |
collapse(char *pattern) |
133 |
> |
collapse(char *mask) |
134 |
|
{ |
135 |
< |
char *p = pattern, *po = pattern; |
136 |
< |
char c; |
135 |
> |
int star = 0; |
136 |
> |
char *m = mask; |
137 |
> |
char *b = NULL; |
138 |
|
|
139 |
< |
if (p == NULL) |
303 |
< |
return NULL; |
304 |
< |
|
305 |
< |
while ((c = *p++)) |
139 |
> |
if (m) |
140 |
|
{ |
141 |
< |
if (c != '*') |
142 |
< |
*po++ = c; |
143 |
< |
else if (*p != '*') |
144 |
< |
*po++ = '*'; |
145 |
< |
} |
312 |
< |
|
313 |
< |
*po = 0; |
314 |
< |
|
315 |
< |
return pattern; |
316 |
< |
} |
317 |
< |
|
318 |
< |
/* collapse_esc() |
319 |
< |
* |
320 |
< |
* The collapse() function with support for escaping characters |
321 |
< |
*/ |
322 |
< |
char * |
323 |
< |
collapse_esc(char *pattern) |
324 |
< |
{ |
325 |
< |
char *p = pattern, *po = pattern; |
326 |
< |
char c; |
141 |
> |
do |
142 |
> |
{ |
143 |
> |
if ((*m == '*') && ((m[1] == '*') || (m[1] == '?'))) |
144 |
> |
{ |
145 |
> |
b = m; |
146 |
|
|
147 |
< |
if (p == NULL) |
148 |
< |
return NULL; |
147 |
> |
do |
148 |
> |
{ |
149 |
> |
if (*m == '*') |
150 |
> |
star = 1; |
151 |
> |
else |
152 |
> |
{ |
153 |
> |
if (star && (*m != '?')) |
154 |
> |
{ |
155 |
> |
*b++ = '*'; |
156 |
> |
star = 0; |
157 |
> |
} |
158 |
> |
|
159 |
> |
*b++ = *m; |
160 |
> |
|
161 |
> |
if ((*m == '\\') && ((m[1] == '*') || (m[1] == '?'))) |
162 |
> |
*b++ = *++m; |
163 |
> |
} |
164 |
> |
} while (*m++); |
165 |
|
|
166 |
< |
while ((c = *p++)) |
167 |
< |
{ |
168 |
< |
if (c != '*') |
169 |
< |
{ |
170 |
< |
*po++ = c; |
171 |
< |
if (c == '\\' && *p) |
172 |
< |
*po++ = *p++; |
173 |
< |
} |
339 |
< |
else if (*p != '*') |
340 |
< |
*po++ = '*'; |
166 |
> |
break; |
167 |
> |
} |
168 |
> |
else |
169 |
> |
{ |
170 |
> |
if ((*m == '\\') && ((m[1] == '*') || (m[1] == '?'))) |
171 |
> |
m++; |
172 |
> |
} |
173 |
> |
} while (*m++); |
174 |
|
} |
175 |
|
|
176 |
< |
*po = 0; |
344 |
< |
|
345 |
< |
return pattern; |
176 |
> |
return mask; |
177 |
|
} |
178 |
|
|
179 |
|
/* |
185 |
|
int |
186 |
|
irccmp(const char *s1, const char *s2) |
187 |
|
{ |
188 |
< |
const unsigned char *str1 = (const unsigned char *) s1; |
189 |
< |
const unsigned char *str2 = (const unsigned char *) s2; |
188 |
> |
const unsigned char *str1 = (const unsigned char *)s1; |
189 |
> |
const unsigned char *str2 = (const unsigned char *)s2; |
190 |
|
|
191 |
|
assert(s1 != NULL); |
192 |
|
assert(s2 != NULL); |
193 |
|
|
194 |
< |
while (ToUpper(*str1) == ToUpper(*str2)) |
364 |
< |
{ |
194 |
> |
for (; ToUpper(*str1) == ToUpper(*str2); ++str1, ++str2) |
195 |
|
if (*str1 == '\0') |
196 |
|
return 0; |
367 |
– |
str1++; |
368 |
– |
str2++; |
369 |
– |
} |
197 |
|
|
198 |
|
return 1; |
199 |
|
} |
200 |
|
|
201 |
|
int |
202 |
< |
ircncmp(const char* s1, const char *s2, size_t n) |
202 |
> |
ircncmp(const char *s1, const char *s2, size_t n) |
203 |
|
{ |
204 |
< |
const unsigned char *str1 = (const unsigned char *) s1; |
205 |
< |
const unsigned char *str2 = (const unsigned char *) s2; |
379 |
< |
int res; |
204 |
> |
const unsigned char *str1 = (const unsigned char *)s1; |
205 |
> |
const unsigned char *str2 = (const unsigned char *)s2; |
206 |
|
|
207 |
|
assert(s1 != NULL); |
208 |
|
assert(s2 != NULL); |
209 |
+ |
assert(n > 0); |
210 |
|
|
211 |
< |
while ((res = ToUpper(*str1) - ToUpper(*str2)) == 0) |
212 |
< |
{ |
213 |
< |
str1++, str2++, n--; |
214 |
< |
if (n == 0 || (*str1 == '\0' && *str2 == '\0')) |
211 |
> |
if (n == 0) |
212 |
> |
return 0; |
213 |
> |
|
214 |
> |
for (; ToUpper(*str1) == ToUpper(*str2); ++str1, ++str2) |
215 |
> |
if (--n == 0 || *str1 == '\0') |
216 |
|
return 0; |
217 |
< |
} |
218 |
< |
return res; |
217 |
> |
|
218 |
> |
return 1; |
219 |
|
} |
220 |
|
|
221 |
|
const unsigned char ToLowerTab[] = { |
296 |
|
*/ |
297 |
|
const unsigned int CharAttrs[] = { |
298 |
|
/* 0 */ CNTRL_C, |
299 |
< |
/* 1 */ CNTRL_C|CHAN_C|NONEOS_C, |
299 |
> |
/* 1 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
300 |
|
/* 2 */ CNTRL_C|CHAN_C|NONEOS_C, |
301 |
|
/* 3 */ CNTRL_C|CHAN_C|NONEOS_C, |
302 |
< |
/* 4 */ CNTRL_C|CHAN_C|NONEOS_C, |
303 |
< |
/* 5 */ CNTRL_C|CHAN_C|NONEOS_C, |
304 |
< |
/* 6 */ CNTRL_C|CHAN_C|NONEOS_C, |
302 |
> |
/* 4 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
303 |
> |
/* 5 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
304 |
> |
/* 6 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
305 |
|
/* 7 BEL */ CNTRL_C|NONEOS_C, |
306 |
< |
/* 8 \b */ CNTRL_C|CHAN_C|NONEOS_C, |
307 |
< |
/* 9 \t */ CNTRL_C|SPACE_C|CHAN_C|NONEOS_C, |
308 |
< |
/* 10 \n */ CNTRL_C|SPACE_C|CHAN_C|NONEOS_C|EOL_C, |
309 |
< |
/* 11 \v */ CNTRL_C|SPACE_C|CHAN_C|NONEOS_C, |
310 |
< |
/* 12 \f */ CNTRL_C|SPACE_C|CHAN_C|NONEOS_C, |
311 |
< |
/* 13 \r */ CNTRL_C|SPACE_C|CHAN_C|NONEOS_C|EOL_C, |
312 |
< |
/* 14 */ CNTRL_C|CHAN_C|NONEOS_C, |
306 |
> |
/* 8 \b */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
307 |
> |
/* 9 \t */ CNTRL_C|SPACE_C|CHAN_C|VCHAN_C|NONEOS_C, |
308 |
> |
/* 10 \n */ CNTRL_C|SPACE_C|CHAN_C|VCHAN_C|NONEOS_C|EOL_C, |
309 |
> |
/* 11 \v */ CNTRL_C|SPACE_C|CHAN_C|VCHAN_C|NONEOS_C, |
310 |
> |
/* 12 \f */ CNTRL_C|SPACE_C|CHAN_C|VCHAN_C|NONEOS_C, |
311 |
> |
/* 13 \r */ CNTRL_C|SPACE_C|CHAN_C|VCHAN_C|NONEOS_C|EOL_C, |
312 |
> |
/* 14 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
313 |
|
/* 15 */ CNTRL_C|CHAN_C|NONEOS_C, |
314 |
< |
/* 16 */ CNTRL_C|CHAN_C|NONEOS_C, |
315 |
< |
/* 17 */ CNTRL_C|CHAN_C|NONEOS_C, |
316 |
< |
/* 18 */ CNTRL_C|CHAN_C|NONEOS_C, |
317 |
< |
/* 19 */ CNTRL_C|CHAN_C|NONEOS_C, |
318 |
< |
/* 20 */ CNTRL_C|CHAN_C|NONEOS_C, |
319 |
< |
/* 21 */ CNTRL_C|CHAN_C|NONEOS_C, |
314 |
> |
/* 16 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
315 |
> |
/* 17 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
316 |
> |
/* 18 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
317 |
> |
/* 19 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
318 |
> |
/* 20 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
319 |
> |
/* 21 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
320 |
|
/* 22 */ CNTRL_C|CHAN_C|NONEOS_C, |
321 |
< |
/* 23 */ CNTRL_C|CHAN_C|NONEOS_C, |
322 |
< |
/* 24 */ CNTRL_C|CHAN_C|NONEOS_C, |
323 |
< |
/* 25 */ CNTRL_C|CHAN_C|NONEOS_C, |
324 |
< |
/* 26 */ CNTRL_C|CHAN_C|NONEOS_C, |
325 |
< |
/* 27 */ CNTRL_C|CHAN_C|NONEOS_C, |
326 |
< |
/* 28 */ CNTRL_C|CHAN_C|NONEOS_C, |
321 |
> |
/* 23 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
322 |
> |
/* 24 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
323 |
> |
/* 25 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
324 |
> |
/* 26 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
325 |
> |
/* 27 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
326 |
> |
/* 28 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
327 |
|
/* 29 */ CNTRL_C|CHAN_C|NONEOS_C, |
328 |
< |
/* 30 */ CNTRL_C|CHAN_C|NONEOS_C, |
328 |
> |
/* 30 */ CNTRL_C|CHAN_C|VCHAN_C|NONEOS_C, |
329 |
|
/* 31 */ CNTRL_C|CHAN_C|NONEOS_C, |
330 |
|
/* SP */ PRINT_C|SPACE_C, |
331 |
< |
/* ! */ PRINT_C|KWILD_C|CHAN_C|NONEOS_C, |
332 |
< |
/* " */ PRINT_C|CHAN_C|NONEOS_C, |
333 |
< |
/* # */ PRINT_C|KWILD_C|MWILD_C|CHANPFX_C|CHAN_C|NONEOS_C, |
334 |
< |
/* $ */ PRINT_C|CHAN_C|NONEOS_C|USER_C, |
335 |
< |
/* % */ PRINT_C|CHAN_C|NONEOS_C, |
336 |
< |
/* & */ PRINT_C|CHANPFX_C|CHAN_C|NONEOS_C, |
337 |
< |
/* ' */ PRINT_C|CHAN_C|NONEOS_C, |
338 |
< |
/* ( */ PRINT_C|CHAN_C|NONEOS_C, |
339 |
< |
/* ) */ PRINT_C|CHAN_C|NONEOS_C, |
340 |
< |
/* * */ PRINT_C|KWILD_C|MWILD_C|CHAN_C|NONEOS_C|SERV_C, |
341 |
< |
/* + */ PRINT_C|CHAN_C|NONEOS_C, |
331 |
> |
/* ! */ PRINT_C|KWILD_C|CHAN_C|VCHAN_C|NONEOS_C, |
332 |
> |
/* " */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
333 |
> |
/* # */ PRINT_C|KWILD_C|CHANPFX_C|CHAN_C|VCHAN_C|NONEOS_C, |
334 |
> |
/* $ */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
335 |
> |
/* % */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
336 |
> |
/* & */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
337 |
> |
/* ' */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
338 |
> |
/* ( */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
339 |
> |
/* ) */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
340 |
> |
/* * */ PRINT_C|KWILD_C|MWILD_C|CHAN_C|VCHAN_C|NONEOS_C|SERV_C, |
341 |
> |
/* + */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
342 |
|
/* , */ PRINT_C|NONEOS_C, |
343 |
< |
/* - */ PRINT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
344 |
< |
/* . */ PRINT_C|KWILD_C|CHAN_C|NONEOS_C|USER_C|HOST_C|SERV_C, |
345 |
< |
/* / */ PRINT_C|CHAN_C|NONEOS_C, |
346 |
< |
/* 0 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
347 |
< |
/* 1 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
348 |
< |
/* 2 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
349 |
< |
/* 3 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
350 |
< |
/* 4 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
351 |
< |
/* 5 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
352 |
< |
/* 6 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
353 |
< |
/* 7 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
354 |
< |
/* 8 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
355 |
< |
/* 9 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
356 |
< |
/* : */ PRINT_C|KWILD_C|CHAN_C|NONEOS_C|HOST_C, |
357 |
< |
/* ; */ PRINT_C|CHAN_C|NONEOS_C, |
358 |
< |
/* < */ PRINT_C|CHAN_C|NONEOS_C, |
359 |
< |
/* = */ PRINT_C|CHAN_C|NONEOS_C, |
360 |
< |
/* > */ PRINT_C|CHAN_C|NONEOS_C, |
361 |
< |
/* ? */ PRINT_C|KWILD_C|MWILD_C|CHAN_C|NONEOS_C, |
362 |
< |
/* @ */ PRINT_C|KWILD_C|CHAN_C|NONEOS_C, |
363 |
< |
/* A */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
364 |
< |
/* B */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
365 |
< |
/* C */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
366 |
< |
/* D */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
367 |
< |
/* E */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
368 |
< |
/* F */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
369 |
< |
/* G */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
370 |
< |
/* H */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
371 |
< |
/* I */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
372 |
< |
/* J */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
373 |
< |
/* K */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
374 |
< |
/* L */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
375 |
< |
/* M */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
376 |
< |
/* N */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
377 |
< |
/* O */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
378 |
< |
/* P */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
379 |
< |
/* Q */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
380 |
< |
/* R */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
381 |
< |
/* S */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
382 |
< |
/* T */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
383 |
< |
/* U */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
384 |
< |
/* V */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
385 |
< |
/* W */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
386 |
< |
/* X */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
387 |
< |
/* Y */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
388 |
< |
/* Z */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
389 |
< |
/* [ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
390 |
< |
/* \ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
391 |
< |
/* ] */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
392 |
< |
/* ^ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
393 |
< |
/* _ */ PRINT_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
394 |
< |
/* ` */ PRINT_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
395 |
< |
/* a */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
396 |
< |
/* b */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
397 |
< |
/* c */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
398 |
< |
/* d */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
399 |
< |
/* e */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
400 |
< |
/* f */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
401 |
< |
/* g */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
402 |
< |
/* h */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
403 |
< |
/* i */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
404 |
< |
/* j */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
405 |
< |
/* k */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
406 |
< |
/* l */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
407 |
< |
/* m */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
408 |
< |
/* n */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
409 |
< |
/* o */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
410 |
< |
/* p */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
411 |
< |
/* q */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
412 |
< |
/* r */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
413 |
< |
/* s */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
414 |
< |
/* t */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
415 |
< |
/* u */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
416 |
< |
/* v */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
417 |
< |
/* w */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
418 |
< |
/* x */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
419 |
< |
/* y */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
420 |
< |
/* z */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C|HOST_C, |
421 |
< |
/* { */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
422 |
< |
/* | */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
423 |
< |
/* } */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|NONEOS_C|USER_C, |
424 |
< |
/* ~ */ PRINT_C|ALPHA_C|CHAN_C|NONEOS_C|USER_C, |
425 |
< |
/* del */ CHAN_C|NONEOS_C, |
426 |
< |
/* 0x80 */ CHAN_C|NONEOS_C, |
427 |
< |
/* 0x81 */ CHAN_C|NONEOS_C, |
428 |
< |
/* 0x82 */ CHAN_C|NONEOS_C, |
429 |
< |
/* 0x83 */ CHAN_C|NONEOS_C, |
430 |
< |
/* 0x84 */ CHAN_C|NONEOS_C, |
431 |
< |
/* 0x85 */ CHAN_C|NONEOS_C, |
432 |
< |
/* 0x86 */ CHAN_C|NONEOS_C, |
433 |
< |
/* 0x87 */ CHAN_C|NONEOS_C, |
434 |
< |
/* 0x88 */ CHAN_C|NONEOS_C, |
435 |
< |
/* 0x89 */ CHAN_C|NONEOS_C, |
436 |
< |
/* 0x8A */ CHAN_C|NONEOS_C, |
437 |
< |
/* 0x8B */ CHAN_C|NONEOS_C, |
438 |
< |
/* 0x8C */ CHAN_C|NONEOS_C, |
439 |
< |
/* 0x8D */ CHAN_C|NONEOS_C, |
440 |
< |
/* 0x8E */ CHAN_C|NONEOS_C, |
441 |
< |
/* 0x8F */ CHAN_C|NONEOS_C, |
442 |
< |
/* 0x90 */ CHAN_C|NONEOS_C, |
443 |
< |
/* 0x91 */ CHAN_C|NONEOS_C, |
444 |
< |
/* 0x92 */ CHAN_C|NONEOS_C, |
445 |
< |
/* 0x93 */ CHAN_C|NONEOS_C, |
446 |
< |
/* 0x94 */ CHAN_C|NONEOS_C, |
447 |
< |
/* 0x95 */ CHAN_C|NONEOS_C, |
448 |
< |
/* 0x96 */ CHAN_C|NONEOS_C, |
449 |
< |
/* 0x97 */ CHAN_C|NONEOS_C, |
450 |
< |
/* 0x98 */ CHAN_C|NONEOS_C, |
451 |
< |
/* 0x99 */ CHAN_C|NONEOS_C, |
452 |
< |
/* 0x9A */ CHAN_C|NONEOS_C, |
453 |
< |
/* 0x9B */ CHAN_C|NONEOS_C, |
454 |
< |
/* 0x9C */ CHAN_C|NONEOS_C, |
455 |
< |
/* 0x9D */ CHAN_C|NONEOS_C, |
456 |
< |
/* 0x9E */ CHAN_C|NONEOS_C, |
457 |
< |
/* 0x9F */ CHAN_C|NONEOS_C, |
343 |
> |
/* - */ PRINT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
344 |
> |
/* . */ PRINT_C|KWILD_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C|SERV_C, |
345 |
> |
/* / */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
346 |
> |
/* 0 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
347 |
> |
/* 1 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
348 |
> |
/* 2 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
349 |
> |
/* 3 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
350 |
> |
/* 4 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
351 |
> |
/* 5 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
352 |
> |
/* 6 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
353 |
> |
/* 7 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
354 |
> |
/* 8 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
355 |
> |
/* 9 */ PRINT_C|DIGIT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
356 |
> |
/* : */ PRINT_C|KWILD_C|CHAN_C|VCHAN_C|NONEOS_C|HOST_C, |
357 |
> |
/* ; */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
358 |
> |
/* < */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
359 |
> |
/* = */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
360 |
> |
/* > */ PRINT_C|CHAN_C|VCHAN_C|NONEOS_C, |
361 |
> |
/* ? */ PRINT_C|KWILD_C|MWILD_C|CHAN_C|VCHAN_C|NONEOS_C, |
362 |
> |
/* @ */ PRINT_C|KWILD_C|CHAN_C|VCHAN_C|NONEOS_C, |
363 |
> |
/* A */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
364 |
> |
/* B */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
365 |
> |
/* C */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
366 |
> |
/* D */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
367 |
> |
/* E */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
368 |
> |
/* F */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
369 |
> |
/* G */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
370 |
> |
/* H */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
371 |
> |
/* I */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
372 |
> |
/* J */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
373 |
> |
/* K */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
374 |
> |
/* L */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
375 |
> |
/* M */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
376 |
> |
/* N */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
377 |
> |
/* O */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
378 |
> |
/* P */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
379 |
> |
/* Q */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
380 |
> |
/* R */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
381 |
> |
/* S */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
382 |
> |
/* T */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
383 |
> |
/* U */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
384 |
> |
/* V */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
385 |
> |
/* W */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
386 |
> |
/* X */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
387 |
> |
/* Y */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
388 |
> |
/* Z */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
389 |
> |
/* [ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
390 |
> |
/* \ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
391 |
> |
/* ] */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
392 |
> |
/* ^ */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
393 |
> |
/* _ */ PRINT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
394 |
> |
/* ` */ PRINT_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
395 |
> |
/* a */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
396 |
> |
/* b */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
397 |
> |
/* c */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
398 |
> |
/* d */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
399 |
> |
/* e */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
400 |
> |
/* f */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
401 |
> |
/* g */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
402 |
> |
/* h */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
403 |
> |
/* i */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
404 |
> |
/* j */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
405 |
> |
/* k */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
406 |
> |
/* l */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
407 |
> |
/* m */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
408 |
> |
/* n */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
409 |
> |
/* o */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
410 |
> |
/* p */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
411 |
> |
/* q */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
412 |
> |
/* r */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
413 |
> |
/* s */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
414 |
> |
/* t */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
415 |
> |
/* u */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
416 |
> |
/* v */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
417 |
> |
/* w */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
418 |
> |
/* x */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
419 |
> |
/* y */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
420 |
> |
/* z */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C|HOST_C, |
421 |
> |
/* { */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
422 |
> |
/* | */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
423 |
> |
/* } */ PRINT_C|ALPHA_C|NICK_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
424 |
> |
/* ~ */ PRINT_C|ALPHA_C|CHAN_C|VCHAN_C|NONEOS_C|USER_C, |
425 |
> |
/* del */ CHAN_C|VCHAN_C|NONEOS_C, |
426 |
> |
/* 0x80 */ CHAN_C|VCHAN_C|NONEOS_C, |
427 |
> |
/* 0x81 */ CHAN_C|VCHAN_C|NONEOS_C, |
428 |
> |
/* 0x82 */ CHAN_C|VCHAN_C|NONEOS_C, |
429 |
> |
/* 0x83 */ CHAN_C|VCHAN_C|NONEOS_C, |
430 |
> |
/* 0x84 */ CHAN_C|VCHAN_C|NONEOS_C, |
431 |
> |
/* 0x85 */ CHAN_C|VCHAN_C|NONEOS_C, |
432 |
> |
/* 0x86 */ CHAN_C|VCHAN_C|NONEOS_C, |
433 |
> |
/* 0x87 */ CHAN_C|VCHAN_C|NONEOS_C, |
434 |
> |
/* 0x88 */ CHAN_C|VCHAN_C|NONEOS_C, |
435 |
> |
/* 0x89 */ CHAN_C|VCHAN_C|NONEOS_C, |
436 |
> |
/* 0x8A */ CHAN_C|VCHAN_C|NONEOS_C, |
437 |
> |
/* 0x8B */ CHAN_C|VCHAN_C|NONEOS_C, |
438 |
> |
/* 0x8C */ CHAN_C|VCHAN_C|NONEOS_C, |
439 |
> |
/* 0x8D */ CHAN_C|VCHAN_C|NONEOS_C, |
440 |
> |
/* 0x8E */ CHAN_C|VCHAN_C|NONEOS_C, |
441 |
> |
/* 0x8F */ CHAN_C|VCHAN_C|NONEOS_C, |
442 |
> |
/* 0x90 */ CHAN_C|VCHAN_C|NONEOS_C, |
443 |
> |
/* 0x91 */ CHAN_C|VCHAN_C|NONEOS_C, |
444 |
> |
/* 0x92 */ CHAN_C|VCHAN_C|NONEOS_C, |
445 |
> |
/* 0x93 */ CHAN_C|VCHAN_C|NONEOS_C, |
446 |
> |
/* 0x94 */ CHAN_C|VCHAN_C|NONEOS_C, |
447 |
> |
/* 0x95 */ CHAN_C|VCHAN_C|NONEOS_C, |
448 |
> |
/* 0x96 */ CHAN_C|VCHAN_C|NONEOS_C, |
449 |
> |
/* 0x97 */ CHAN_C|VCHAN_C|NONEOS_C, |
450 |
> |
/* 0x98 */ CHAN_C|VCHAN_C|NONEOS_C, |
451 |
> |
/* 0x99 */ CHAN_C|VCHAN_C|NONEOS_C, |
452 |
> |
/* 0x9A */ CHAN_C|VCHAN_C|NONEOS_C, |
453 |
> |
/* 0x9B */ CHAN_C|VCHAN_C|NONEOS_C, |
454 |
> |
/* 0x9C */ CHAN_C|VCHAN_C|NONEOS_C, |
455 |
> |
/* 0x9D */ CHAN_C|VCHAN_C|NONEOS_C, |
456 |
> |
/* 0x9E */ CHAN_C|VCHAN_C|NONEOS_C, |
457 |
> |
/* 0x9F */ CHAN_C|VCHAN_C|NONEOS_C, |
458 |
|
/* 0xA0 */ CHAN_C|NONEOS_C, |
459 |
< |
/* 0xA1 */ CHAN_C|NONEOS_C, |
460 |
< |
/* 0xA2 */ CHAN_C|NONEOS_C, |
461 |
< |
/* 0xA3 */ CHAN_C|NONEOS_C, |
462 |
< |
/* 0xA4 */ CHAN_C|NONEOS_C, |
463 |
< |
/* 0xA5 */ CHAN_C|NONEOS_C, |
464 |
< |
/* 0xA6 */ CHAN_C|NONEOS_C, |
465 |
< |
/* 0xA7 */ CHAN_C|NONEOS_C, |
466 |
< |
/* 0xA8 */ CHAN_C|NONEOS_C, |
467 |
< |
/* 0xA9 */ CHAN_C|NONEOS_C, |
468 |
< |
/* 0xAA */ CHAN_C|NONEOS_C, |
469 |
< |
/* 0xAB */ CHAN_C|NONEOS_C, |
470 |
< |
/* 0xAC */ CHAN_C|NONEOS_C, |
471 |
< |
/* 0xAD */ CHAN_C|NONEOS_C, |
472 |
< |
/* 0xAE */ CHAN_C|NONEOS_C, |
473 |
< |
/* 0xAF */ CHAN_C|NONEOS_C, |
474 |
< |
/* 0xB0 */ CHAN_C|NONEOS_C, |
475 |
< |
/* 0xB1 */ CHAN_C|NONEOS_C, |
476 |
< |
/* 0xB2 */ CHAN_C|NONEOS_C, |
477 |
< |
/* 0xB3 */ CHAN_C|NONEOS_C, |
478 |
< |
/* 0xB4 */ CHAN_C|NONEOS_C, |
479 |
< |
/* 0xB5 */ CHAN_C|NONEOS_C, |
480 |
< |
/* 0xB6 */ CHAN_C|NONEOS_C, |
481 |
< |
/* 0xB7 */ CHAN_C|NONEOS_C, |
482 |
< |
/* 0xB8 */ CHAN_C|NONEOS_C, |
483 |
< |
/* 0xB9 */ CHAN_C|NONEOS_C, |
484 |
< |
/* 0xBA */ CHAN_C|NONEOS_C, |
485 |
< |
/* 0xBB */ CHAN_C|NONEOS_C, |
486 |
< |
/* 0xBC */ CHAN_C|NONEOS_C, |
487 |
< |
/* 0xBD */ CHAN_C|NONEOS_C, |
488 |
< |
/* 0xBE */ CHAN_C|NONEOS_C, |
489 |
< |
/* 0xBF */ CHAN_C|NONEOS_C, |
490 |
< |
/* 0xC0 */ CHAN_C|NONEOS_C, |
491 |
< |
/* 0xC1 */ CHAN_C|NONEOS_C, |
492 |
< |
/* 0xC2 */ CHAN_C|NONEOS_C, |
493 |
< |
/* 0xC3 */ CHAN_C|NONEOS_C, |
494 |
< |
/* 0xC4 */ CHAN_C|NONEOS_C, |
495 |
< |
/* 0xC5 */ CHAN_C|NONEOS_C, |
496 |
< |
/* 0xC6 */ CHAN_C|NONEOS_C, |
497 |
< |
/* 0xC7 */ CHAN_C|NONEOS_C, |
498 |
< |
/* 0xC8 */ CHAN_C|NONEOS_C, |
499 |
< |
/* 0xC9 */ CHAN_C|NONEOS_C, |
500 |
< |
/* 0xCA */ CHAN_C|NONEOS_C, |
501 |
< |
/* 0xCB */ CHAN_C|NONEOS_C, |
502 |
< |
/* 0xCC */ CHAN_C|NONEOS_C, |
503 |
< |
/* 0xCD */ CHAN_C|NONEOS_C, |
504 |
< |
/* 0xCE */ CHAN_C|NONEOS_C, |
505 |
< |
/* 0xCF */ CHAN_C|NONEOS_C, |
506 |
< |
/* 0xD0 */ CHAN_C|NONEOS_C, |
507 |
< |
/* 0xD1 */ CHAN_C|NONEOS_C, |
508 |
< |
/* 0xD2 */ CHAN_C|NONEOS_C, |
509 |
< |
/* 0xD3 */ CHAN_C|NONEOS_C, |
510 |
< |
/* 0xD4 */ CHAN_C|NONEOS_C, |
511 |
< |
/* 0xD5 */ CHAN_C|NONEOS_C, |
512 |
< |
/* 0xD6 */ CHAN_C|NONEOS_C, |
513 |
< |
/* 0xD7 */ CHAN_C|NONEOS_C, |
514 |
< |
/* 0xD8 */ CHAN_C|NONEOS_C, |
515 |
< |
/* 0xD9 */ CHAN_C|NONEOS_C, |
516 |
< |
/* 0xDA */ CHAN_C|NONEOS_C, |
517 |
< |
/* 0xDB */ CHAN_C|NONEOS_C, |
518 |
< |
/* 0xDC */ CHAN_C|NONEOS_C, |
519 |
< |
/* 0xDD */ CHAN_C|NONEOS_C, |
520 |
< |
/* 0xDE */ CHAN_C|NONEOS_C, |
521 |
< |
/* 0xDF */ CHAN_C|NONEOS_C, |
522 |
< |
/* 0xE0 */ CHAN_C|NONEOS_C, |
523 |
< |
/* 0xE1 */ CHAN_C|NONEOS_C, |
524 |
< |
/* 0xE2 */ CHAN_C|NONEOS_C, |
525 |
< |
/* 0xE3 */ CHAN_C|NONEOS_C, |
526 |
< |
/* 0xE4 */ CHAN_C|NONEOS_C, |
527 |
< |
/* 0xE5 */ CHAN_C|NONEOS_C, |
528 |
< |
/* 0xE6 */ CHAN_C|NONEOS_C, |
529 |
< |
/* 0xE7 */ CHAN_C|NONEOS_C, |
530 |
< |
/* 0xE8 */ CHAN_C|NONEOS_C, |
531 |
< |
/* 0xE9 */ CHAN_C|NONEOS_C, |
532 |
< |
/* 0xEA */ CHAN_C|NONEOS_C, |
533 |
< |
/* 0xEB */ CHAN_C|NONEOS_C, |
534 |
< |
/* 0xEC */ CHAN_C|NONEOS_C, |
535 |
< |
/* 0xED */ CHAN_C|NONEOS_C, |
536 |
< |
/* 0xEE */ CHAN_C|NONEOS_C, |
537 |
< |
/* 0xEF */ CHAN_C|NONEOS_C, |
538 |
< |
/* 0xF0 */ CHAN_C|NONEOS_C, |
539 |
< |
/* 0xF1 */ CHAN_C|NONEOS_C, |
540 |
< |
/* 0xF2 */ CHAN_C|NONEOS_C, |
541 |
< |
/* 0xF3 */ CHAN_C|NONEOS_C, |
542 |
< |
/* 0xF4 */ CHAN_C|NONEOS_C, |
543 |
< |
/* 0xF5 */ CHAN_C|NONEOS_C, |
544 |
< |
/* 0xF6 */ CHAN_C|NONEOS_C, |
545 |
< |
/* 0xF7 */ CHAN_C|NONEOS_C, |
546 |
< |
/* 0xF8 */ CHAN_C|NONEOS_C, |
547 |
< |
/* 0xF9 */ CHAN_C|NONEOS_C, |
548 |
< |
/* 0xFA */ CHAN_C|NONEOS_C, |
549 |
< |
/* 0xFB */ CHAN_C|NONEOS_C, |
550 |
< |
/* 0xFC */ CHAN_C|NONEOS_C, |
551 |
< |
/* 0xFD */ CHAN_C|NONEOS_C, |
552 |
< |
/* 0xFE */ CHAN_C|NONEOS_C, |
553 |
< |
/* 0xFF */ CHAN_C|NONEOS_C |
459 |
> |
/* 0xA1 */ CHAN_C|VCHAN_C|NONEOS_C, |
460 |
> |
/* 0xA2 */ CHAN_C|VCHAN_C|NONEOS_C, |
461 |
> |
/* 0xA3 */ CHAN_C|VCHAN_C|NONEOS_C, |
462 |
> |
/* 0xA4 */ CHAN_C|VCHAN_C|NONEOS_C, |
463 |
> |
/* 0xA5 */ CHAN_C|VCHAN_C|NONEOS_C, |
464 |
> |
/* 0xA6 */ CHAN_C|VCHAN_C|NONEOS_C, |
465 |
> |
/* 0xA7 */ CHAN_C|VCHAN_C|NONEOS_C, |
466 |
> |
/* 0xA8 */ CHAN_C|VCHAN_C|NONEOS_C, |
467 |
> |
/* 0xA9 */ CHAN_C|VCHAN_C|NONEOS_C, |
468 |
> |
/* 0xAA */ CHAN_C|VCHAN_C|NONEOS_C, |
469 |
> |
/* 0xAB */ CHAN_C|VCHAN_C|NONEOS_C, |
470 |
> |
/* 0xAC */ CHAN_C|VCHAN_C|NONEOS_C, |
471 |
> |
/* 0xAD */ CHAN_C|VCHAN_C|NONEOS_C, |
472 |
> |
/* 0xAE */ CHAN_C|VCHAN_C|NONEOS_C, |
473 |
> |
/* 0xAF */ CHAN_C|VCHAN_C|NONEOS_C, |
474 |
> |
/* 0xB0 */ CHAN_C|VCHAN_C|NONEOS_C, |
475 |
> |
/* 0xB1 */ CHAN_C|VCHAN_C|NONEOS_C, |
476 |
> |
/* 0xB2 */ CHAN_C|VCHAN_C|NONEOS_C, |
477 |
> |
/* 0xB3 */ CHAN_C|VCHAN_C|NONEOS_C, |
478 |
> |
/* 0xB4 */ CHAN_C|VCHAN_C|NONEOS_C, |
479 |
> |
/* 0xB5 */ CHAN_C|VCHAN_C|NONEOS_C, |
480 |
> |
/* 0xB6 */ CHAN_C|VCHAN_C|NONEOS_C, |
481 |
> |
/* 0xB7 */ CHAN_C|VCHAN_C|NONEOS_C, |
482 |
> |
/* 0xB8 */ CHAN_C|VCHAN_C|NONEOS_C, |
483 |
> |
/* 0xB9 */ CHAN_C|VCHAN_C|NONEOS_C, |
484 |
> |
/* 0xBA */ CHAN_C|VCHAN_C|NONEOS_C, |
485 |
> |
/* 0xBB */ CHAN_C|VCHAN_C|NONEOS_C, |
486 |
> |
/* 0xBC */ CHAN_C|VCHAN_C|NONEOS_C, |
487 |
> |
/* 0xBD */ CHAN_C|VCHAN_C|NONEOS_C, |
488 |
> |
/* 0xBE */ CHAN_C|VCHAN_C|NONEOS_C, |
489 |
> |
/* 0xBF */ CHAN_C|VCHAN_C|NONEOS_C, |
490 |
> |
/* 0xC0 */ CHAN_C|VCHAN_C|NONEOS_C, |
491 |
> |
/* 0xC1 */ CHAN_C|VCHAN_C|NONEOS_C, |
492 |
> |
/* 0xC2 */ CHAN_C|VCHAN_C|NONEOS_C, |
493 |
> |
/* 0xC3 */ CHAN_C|VCHAN_C|NONEOS_C, |
494 |
> |
/* 0xC4 */ CHAN_C|VCHAN_C|NONEOS_C, |
495 |
> |
/* 0xC5 */ CHAN_C|VCHAN_C|NONEOS_C, |
496 |
> |
/* 0xC6 */ CHAN_C|VCHAN_C|NONEOS_C, |
497 |
> |
/* 0xC7 */ CHAN_C|VCHAN_C|NONEOS_C, |
498 |
> |
/* 0xC8 */ CHAN_C|VCHAN_C|NONEOS_C, |
499 |
> |
/* 0xC9 */ CHAN_C|VCHAN_C|NONEOS_C, |
500 |
> |
/* 0xCA */ CHAN_C|VCHAN_C|NONEOS_C, |
501 |
> |
/* 0xCB */ CHAN_C|VCHAN_C|NONEOS_C, |
502 |
> |
/* 0xCC */ CHAN_C|VCHAN_C|NONEOS_C, |
503 |
> |
/* 0xCD */ CHAN_C|VCHAN_C|NONEOS_C, |
504 |
> |
/* 0xCE */ CHAN_C|VCHAN_C|NONEOS_C, |
505 |
> |
/* 0xCF */ CHAN_C|VCHAN_C|NONEOS_C, |
506 |
> |
/* 0xD0 */ CHAN_C|VCHAN_C|NONEOS_C, |
507 |
> |
/* 0xD1 */ CHAN_C|VCHAN_C|NONEOS_C, |
508 |
> |
/* 0xD2 */ CHAN_C|VCHAN_C|NONEOS_C, |
509 |
> |
/* 0xD3 */ CHAN_C|VCHAN_C|NONEOS_C, |
510 |
> |
/* 0xD4 */ CHAN_C|VCHAN_C|NONEOS_C, |
511 |
> |
/* 0xD5 */ CHAN_C|VCHAN_C|NONEOS_C, |
512 |
> |
/* 0xD6 */ CHAN_C|VCHAN_C|NONEOS_C, |
513 |
> |
/* 0xD7 */ CHAN_C|VCHAN_C|NONEOS_C, |
514 |
> |
/* 0xD8 */ CHAN_C|VCHAN_C|NONEOS_C, |
515 |
> |
/* 0xD9 */ CHAN_C|VCHAN_C|NONEOS_C, |
516 |
> |
/* 0xDA */ CHAN_C|VCHAN_C|NONEOS_C, |
517 |
> |
/* 0xDB */ CHAN_C|VCHAN_C|NONEOS_C, |
518 |
> |
/* 0xDC */ CHAN_C|VCHAN_C|NONEOS_C, |
519 |
> |
/* 0xDD */ CHAN_C|VCHAN_C|NONEOS_C, |
520 |
> |
/* 0xDE */ CHAN_C|VCHAN_C|NONEOS_C, |
521 |
> |
/* 0xDF */ CHAN_C|VCHAN_C|NONEOS_C, |
522 |
> |
/* 0xE0 */ CHAN_C|VCHAN_C|NONEOS_C, |
523 |
> |
/* 0xE1 */ CHAN_C|VCHAN_C|NONEOS_C, |
524 |
> |
/* 0xE2 */ CHAN_C|VCHAN_C|NONEOS_C, |
525 |
> |
/* 0xE3 */ CHAN_C|VCHAN_C|NONEOS_C, |
526 |
> |
/* 0xE4 */ CHAN_C|VCHAN_C|NONEOS_C, |
527 |
> |
/* 0xE5 */ CHAN_C|VCHAN_C|NONEOS_C, |
528 |
> |
/* 0xE6 */ CHAN_C|VCHAN_C|NONEOS_C, |
529 |
> |
/* 0xE7 */ CHAN_C|VCHAN_C|NONEOS_C, |
530 |
> |
/* 0xE8 */ CHAN_C|VCHAN_C|NONEOS_C, |
531 |
> |
/* 0xE9 */ CHAN_C|VCHAN_C|NONEOS_C, |
532 |
> |
/* 0xEA */ CHAN_C|VCHAN_C|NONEOS_C, |
533 |
> |
/* 0xEB */ CHAN_C|VCHAN_C|NONEOS_C, |
534 |
> |
/* 0xEC */ CHAN_C|VCHAN_C|NONEOS_C, |
535 |
> |
/* 0xED */ CHAN_C|VCHAN_C|NONEOS_C, |
536 |
> |
/* 0xEE */ CHAN_C|VCHAN_C|NONEOS_C, |
537 |
> |
/* 0xEF */ CHAN_C|VCHAN_C|NONEOS_C, |
538 |
> |
/* 0xF0 */ CHAN_C|VCHAN_C|NONEOS_C, |
539 |
> |
/* 0xF1 */ CHAN_C|VCHAN_C|NONEOS_C, |
540 |
> |
/* 0xF2 */ CHAN_C|VCHAN_C|NONEOS_C, |
541 |
> |
/* 0xF3 */ CHAN_C|VCHAN_C|NONEOS_C, |
542 |
> |
/* 0xF4 */ CHAN_C|VCHAN_C|NONEOS_C, |
543 |
> |
/* 0xF5 */ CHAN_C|VCHAN_C|NONEOS_C, |
544 |
> |
/* 0xF6 */ CHAN_C|VCHAN_C|NONEOS_C, |
545 |
> |
/* 0xF7 */ CHAN_C|VCHAN_C|NONEOS_C, |
546 |
> |
/* 0xF8 */ CHAN_C|VCHAN_C|NONEOS_C, |
547 |
> |
/* 0xF9 */ CHAN_C|VCHAN_C|NONEOS_C, |
548 |
> |
/* 0xFA */ CHAN_C|VCHAN_C|NONEOS_C, |
549 |
> |
/* 0xFB */ CHAN_C|VCHAN_C|NONEOS_C, |
550 |
> |
/* 0xFC */ CHAN_C|VCHAN_C|NONEOS_C, |
551 |
> |
/* 0xFD */ CHAN_C|VCHAN_C|NONEOS_C, |
552 |
> |
/* 0xFE */ CHAN_C|VCHAN_C|NONEOS_C, |
553 |
> |
/* 0xFF */ CHAN_C|VCHAN_C|NONEOS_C |
554 |
|
}; |