* iconv/loop.c: Let user add code to use and set paramaters.

	* iconvdata/iso-2022-kr.c: Correct to-loop.

	* iconvdata/ksc5601.h (ksc5601_to_ucs4): Use correct value to find
	hanja.

	* iconvdata/TESTS: Add ISO-2022-KR test.
	* iconvdata/testdata/ISO-2022-KR: New file.

	* wcsmbs/btowc.c: Likewise.
	* wcsmbs/mbrtowcs.c: Likewise.
	* wcsmbs/mbsnrtowcs.c: Likewise.
	* wcsmbs/mbsrtowcs.c: Likewise.
	* wcsmbs/wcrtomb.c: Likewise.
	* wcsmbs/wcsnrtombs.c: Likewise.
	* wcsmbs/wcsrtombs.c: Likewise.
	* wcsmbs/wctob.c: Likewise.
This commit is contained in:
Ulrich Drepper 1998-05-16 00:03:15 +00:00
parent c9fc0e2228
commit 66175fa825
14 changed files with 665 additions and 88 deletions

View File

@ -1,14 +1,32 @@
1998-05-15 Ulrich Drepper <drepper@cygnus.com>
* iconv/loop.c: Let user add code to use and set paramaters.
* iconvdata/iso-2022-kr.c: Correct to-loop.
* iconvdata/iso-2022-kr.c (PREPARE_LOOP): Use correct variable to
point to output buffer.
* iconvdata/ksc5601.h (ksc5601_to_ucs4): Use correct value to find
hanja.
* iconvdata/TESTS: Add ISO-2022-KR test.
* iconvdata/testdata/ISO-2022-KR: New file.
1998-05-15 21:07 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv.h (gconv_step_data): Add new fields invocation_counter
and internal_use.
* iconv/gconv_open.c (__gconv_open): Initialize invocation_counter
and internal_use.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowcs.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/skeleton.c: Increment invocation_counter.
* iconvdata/iso-2022-kr.c: When used in iconv() emit designator
sequence first.

View File

@ -44,7 +44,10 @@
BODY this is supposed to expand to the body of the loop.
The user must provide this.
EXTRA_LOOP_DECLS Extra arguments passed from converion loop call.
EXTRA_LOOP_DECLS extra arguments passed from converion loop call.
INIT_PARAMS code to define and initialize variables from params.
UPDATE_PARAMS code to store result in params.
*/
#include <gconv.h>
@ -134,6 +137,10 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
size_t min_out_rounds = (outend - outptr) / MAX_NEEDED_OUTPUT;
size_t min_rounds = MIN (min_in_rounds, min_out_rounds);
#ifdef INIT_PARAMS
INIT_PARAMS;
#endif
#undef NEED_LENGTH_TEST
#define NEED_LENGTH_TEST 0
while (min_rounds-- > 0)
@ -195,7 +202,7 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
/* Here comes the body the user provides. It can stop with
RESULT set to GCONV_INCOMPLETE_INPUT (if the size of the
input characters vary in size), GCONV_ILLEGAL_INPUT, or
GCONV_FULL_OUTPUT (if the output characters vary in size. */
GCONV_FULL_OUTPUT (if the output characters vary in size). */
BODY
/* If necessary count the successful conversion. */
@ -216,6 +223,9 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
/* Update the pointers pointed to by the parameters. */
*inptrp = inptr;
*outptrp = outptr;
#ifdef UPDATE_PARAMS
UPDATE_PARAMS;
#endif
return result;
}
@ -232,3 +242,5 @@ LOOPFCT (const unsigned char **inptrp, const unsigned char *inend,
#undef BODY
#undef LOOPFCT
#undef EXTRA_LOOP_DECLS
#undef INIT_PARAMS
#undef UPDATE_PARAMS

View File

@ -73,3 +73,4 @@ CP1254 CP1254 Y UTF8
CP1255 CP1255 Y UTF8
CP1256 CP1256 Y UTF8
CP1257 CP1257 Y UTF8
ISO-2022-KR ISO-2022-KR Y UTF8

View File

@ -44,7 +44,7 @@
#define MAX_NEEDED_TO 4
#define PREPARE_LOOP \
int save_set; \
int set = data->statep->count; \
int *setp = &data->statep->count; \
if (!FROM_DIRECTION && !data->internal_use && data->invocation_counter == 0)\
{ \
/* Emit the designator sequence. */ \
@ -56,7 +56,7 @@
*outbuf++ = ')'; \
*outbuf++ = 'C'; \
}
#define EXTRA_LOOP_ARGS , set
#define EXTRA_LOOP_ARGS , setp
/* The COUNT element of the state keeps track of the currently selected
@ -72,27 +72,27 @@ enum
the output state to the initial state. This has to be done during the
flushing. */
#define EMIT_SHIFT_TO_INIT \
if (data->statep->count != 0) \
if (data->statep->count != ASCII_set) \
{ \
if (step->data == &from_object) \
if (FROM_DIRECTION) \
/* It's easy, we don't have to emit anything, we just reset the \
state for the input. */ \
data->statep->count = 0; \
data->statep->count = ASCII_set; \
else \
{ \
char *outbuf = data->outbuf; \
\
/* We are not in the initial state. To switch back we have \
to emit `SO'. */ \
to emit `SI'. */ \
if (outbuf == data->outbufend) \
/* We don't have enough room in the output buffer. */ \
status = GCONV_FULL_OUTPUT; \
else \
{ \
/* Write out the shift sequence. */ \
*outbuf++ = SO; \
*outbuf++ = SI; \
data->outbuf = outbuf; \
data->statep->count = 0; \
data->statep->count = ASCII_set; \
} \
} \
}
@ -102,9 +102,9 @@ enum
and retore the state. */
#define SAVE_RESET_STATE(Save) \
if (Save) \
save_set = set; \
save_set = *setp; \
else \
set = save_set
*setp = save_set
/* First define the conversion function from ISO-2022-JP to UCS4. */
@ -127,14 +127,14 @@ enum
if (ch == ESC) \
{ \
/* We don't really have to handle escape sequences since all the \
switching is done using the SI and SO bytes. Butwe have to \
switching is done using the SI and SO bytes. But we have to \
recognize `Esc $ ) C' since this is a kind of flag for this \
encoding. We simply ignore it. */ \
if (inptr + 1 > inend \
|| (inptr[1] == '$' \
&& (inptr + 2 > inend \
|| (inptr[2] == ')' && inptr + 3 > inend)))) \
\
\
{ \
result = GCONV_EMPTY_INPUT; \
break; \
@ -146,14 +146,14 @@ enum
continue; \
} \
} \
else if (ch == SI) \
else if (ch == SO) \
{ \
/* Switch to use KSC. */ \
++inptr; \
set = KSC5601_set; \
continue; \
} \
else if (ch == SO) \
else if (ch == SI) \
{ \
/* Switch to use ASCII. */ \
++inptr; \
@ -161,9 +161,16 @@ enum
continue; \
} \
\
if (set == ASCII_set || ch < 0x21 || ch == 0x7f) \
/* Almost done, just advance the input pointer. */ \
++inptr; \
if (set == ASCII_set) \
{ \
if (ch >= 0x80) \
{ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
/* Almost done, just advance the input pointer. */ \
++inptr; \
} \
else \
{ \
assert (set == KSC5601_set); \
@ -186,7 +193,9 @@ enum
\
*((uint32_t *) outptr)++ = ch; \
}
#define EXTRA_LOOP_DECLS , int set
#define EXTRA_LOOP_DECLS , int *setp
#define INIT_PARAMS int set = *setp
#define UPDATE_PARAMS *setp = set
#include <iconv/loop.c>
@ -197,97 +206,66 @@ enum
#define LOOPFCT TO_LOOP
#define BODY \
{ \
unsigned char ch; \
uint32_t ch; \
size_t written = 0; \
\
ch = *((uint32_t *) inptr); \
\
/* First see whether we can write the character using the currently \
selected character set. */ \
if (set == ASCII_set || (ch >= 0x01 && (ch < 0x21 || ch == 0x7f))) \
if (ch < 0x80) \
{ \
/* Please note that the NUL byte is *not* matched if we are not \
currently using the ASCII charset. This is because we must \
switch to the initial state whenever a NUL byte is written. */ \
if (ch <= 0x7f) \
if (set != ASCII_set) \
{ \
*outptr++ = ch; \
written = 1; \
*outptr++ = SI; \
set = ASCII_set; \
if (NEED_LENGTH_TEST && outptr == outend) \
{ \
result = GCONV_FULL_OUTPUT; \
break; \
} \
} \
\
*outptr++ = ch; \
written = 1; \
} \
else \
{ \
assert (set == KSC5601_set); \
char buf[2]; \
\
written = ucs4_to_ksc5601 (ch, outptr, \
(NEED_LENGTH_TEST ? outend - outptr : 2)); \
written = ucs4_to_ksc5601 (ch, buf, 2); \
\
if (NEED_LENGTH_TEST && written == 0) \
if (written == UNKNOWN_10646_CHAR) \
{ \
/* Illegal character. */ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
assert (written == 2); \
\
/* We use KSC 5601. */ \
if (set != KSC5601_set) \
{ \
*outptr++ = SO; \
set = KSC5601_set; \
} \
\
if (NEED_LENGTH_TEST && outptr + 2 > outend) \
{ \
result = GCONV_FULL_OUTPUT; \
break; \
} \
if (written == UNKNOWN_10646_CHAR) \
{ \
/* Either this is an unknown character or we have to switch \
the currently selected character set. The character sets \
do not code entirely separate parts of ISO 10646 and \
therefore there is no single correct result. If we choose \
the character set to use wrong we might be end up with \
using yet another character set for the next character \
though the current and the next could be encoded with one \
character set. We leave this kind of optimization for \
later and now simply use a fixed order in which we test for \
availability */ \
\
if (ch <= 0x7f) \
{ \
/* We must encode using ASCII. First write out the \
escape sequence. */ \
*outptr++ = SO; \
set = ASCII_set; \
\
if (NEED_LENGTH_TEST && outptr == outend) \
{ \
result = GCONV_FULL_OUTPUT; \
break; \
} \
\
*outptr++ = ch; \
} \
else \
{ \
char buf[2]; \
\
written = ucs4_to_ksc5601 (ch, buf, 2); \
if (written != UNKNOWN_10646_CHAR) \
{ \
/* We use KSC 5601. */ \
*outptr++ = SI; \
set = KSC5601_set; \
\
if (NEED_LENGTH_TEST && outptr + 2 > outend) \
{ \
result = GCONV_FULL_OUTPUT; \
break; \
} \
\
*outptr++ = buf[0]; \
*outptr++ = buf[1]; \
} \
else \
{ \
result = GCONV_ILLEGAL_INPUT; \
break; \
} \
} \
} \
*outptr++ = buf[0]; \
*outptr++ = buf[1]; \
} \
\
/* Now that we wrote the output increment the input pointer. */ \
inptr += 4; \
}
#define EXTRA_LOOP_DECLS , int set
#define EXTRA_LOOP_DECLS , int *setp
#define INIT_PARAMS int set = *setp
#define UPDATE_PARAMS *setp = set
#include <iconv/loop.c>

View File

@ -73,7 +73,7 @@ ksc5601_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
if (idx >= 1410 && idx < 3760)
return (__ksc5601_hangul_to_ucs[idx - 1410]
?: ((*s) -= 2, UNKNOWN_10646_CHAR));
else if (idx > 3854)
else if (idx >= 3854)
/* Hanja : row 42 - row 93 : 3854 = 94 * (42-1) */
return (__ksc5601_hanja_to_ucs[idx - 3854]
?: ((*s) -= 2, UNKNOWN_10646_CHAR));

552
iconvdata/testdata/ISO-2022-KR vendored Normal file
View File

@ -0,0 +1,552 @@
$)C
!! !" !# !$ !% !& !' !( !) !* !+ !, !- !. !/
!0 !1 !2 !3 !4 !5 !6 !7 !8 !9 !: !; !< != !> !?
!@ !A !B !C !D !E !F !G !H !I !J !K !L !M !N !O
!P !Q !R !S !T !U !V !W !X !Y !Z ![ !\ !] !^ !_
!` !a !b !c !d !e !f !g !h !i !j !k !l !m !n !o
!p !q !r !s !t !u !v !w !x !y !z !{ !| !} !~
"! "" "# "$ "% "& "' "( ") "* "+ ", "- ". "/
"0 "1 "2 "3 "4 "5 "6 "7 "8 "9 ": "; "< "= "> "?
"@ "A "B "C "D "E "F "G "H "I "J "K "L "M "N "O
"P "Q "R "S "T "U "V "W "X "Y "Z "[ "\ "] "^ "_
"` "a "b "c "d "e
#! #" ## #$ #% #& #' #( #) #* #+ #, #- #. #/
#0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #: #; #< #= #> #?
#@ #A #B #C #D #E #F #G #H #I #J #K #L #M #N #O
#P #Q #R #S #T #U #V #W #X #Y #Z #[ #\ #] #^ #_
#` #a #b #c #d #e #f #g #h #i #j #k #l #m #n #o
#p #q #r #s #t #u #v #w #x #y #z #{ #| #} #~
$! $" $# $$ $% $& $' $( $) $* $+ $, $- $. $/
$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $: $; $< $= $> $?
$@ $A $B $C $D $E $F $G $H $I $J $K $L $M $N $O
$P $Q $R $S $T $U $V $W $X $Y $Z $[ $\ $] $^ $_
$` $a $b $c $d $e $f $g $h $i $j $k $l $m $n $o
$p $q $r $s $t $u $v $w $x $y $z ${ $| $} $~
%! %" %# %$ %% %& %' %( %) %*
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9
%A %B %C %D %E %F %G %H %I %J %K %L %M %N %O
%P %Q %R %S %T %U %V %W %X
%a %b %c %d %e %f %g %h %i %j %k %l %m %n %o
%p %q %r %s %t %u %v %w %x
&! &" &# &$ &% && &' &( &) &* &+ &, &- &. &/
&0 &1 &2 &3 &4 &5 &6 &7 &8 &9 &: &; &< &= &> &?
&@ &A &B &C &D &E &F &G &H &I &J &K &L &M &N &O
&P &Q &R &S &T &U &V &W &X &Y &Z &[ &\ &] &^ &_
&` &a &b &c &d
'! '" '# '$ '% '& '' '( ') '* '+ ', '- '. '/
'0 '1 '2 '3 '4 '5 '6 '7 '8 '9 ': '; '< '= '> '?
'@ 'A 'B 'C 'D 'E 'F 'G 'H 'I 'J 'K 'L 'M 'N 'O
'P 'Q 'R 'S 'T 'U 'V 'W 'X 'Y 'Z '[ '\ '] '^ '_
'` 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm 'n 'o
(! (" (# ($ (& (( () (* (+ (, (- (. (/
(1 (2 (3 (4 (5 (6 (7 (8 (9 (: (; (< (= (> (?
(@ (A (B (C (D (E (F (G (H (I (J (K (L (M (N (O
(P (Q (R (S (T (U (V (W (X (Y (Z ([ (\ (] (^ (_
(` (a (b (c (d (e (f (g (h (i (j (k (l (m (n (o
(p (q (r (s (t (u (v (w (x (y (z ({ (| (} (~
)! )" )# )$ )% )& )' )( )) )* )+ ), )- ). )/
)0 )1 )2 )3 )4 )5 )6 )7 )8 )9 ): ); )< )= )> )?
)@ )A )B )C )D )E )F )G )H )I )J )K )L )M )N )O
)P )Q )R )S )T )U )V )W )X )Y )Z )[ )\ )] )^ )_
)` )a )b )c )d )e )f )g )h )i )j )k )l )m )n )o
)p )q )r )s )t )u )v )w )x )y )z ){ )| )} )~
*! *" *# *$ *% *& *' *( *) ** *+ *, *- *. */
*0 *1 *2 *3 *4 *5 *6 *7 *8 *9 *: *; *< *= *> *?
*@ *A *B *C *D *E *F *G *H *I *J *K *L *M *N *O
*P *Q *R *S *T *U *V *W *X *Y *Z *[ *\ *] *^ *_
*` *a *b *c *d *e *f *g *h *i *j *k *l *m *n *o
*p *q *r *s
+! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +?
+@ +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O
+P +Q +R +S +T +U +V +W +X +Y +Z +[ +\ +] +^ +_
+` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o
+p +q +r +s +t +u +v
,! ," ,# ,$ ,% ,& ,' ,( ,) ,* ,+ ,, ,- ,. ,/
,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,: ,; ,< ,= ,> ,?
,@ ,A
,Q ,R ,S ,T ,U ,V ,W ,X ,Y ,Z ,[ ,\ ,] ,^ ,_
,` ,a ,b ,c ,d ,e ,f ,g ,h ,i ,j ,k ,l ,m ,n ,o
,p ,q
0! 0" 0# 0$ 0% 0& 0' 0( 0) 0* 0+ 0, 0- 0. 0/
00 01 02 03 04 05 06 07 08 09 0: 0; 0< 0= 0> 0?
0@ 0A 0B 0C 0D 0E 0F 0G 0H 0I 0J 0K 0L 0M 0N 0O
0P 0Q 0R 0S 0T 0U 0V 0W 0X 0Y 0Z 0[ 0\ 0] 0^ 0_
0` 0a 0b 0c 0d 0e 0f 0g 0h 0i 0j 0k 0l 0m 0n 0o
0p 0q 0r 0s 0t 0u 0v 0w 0x 0y 0z 0{ 0| 0} 0~
1! 1" 1# 1$ 1% 1& 1' 1( 1) 1* 1+ 1, 1- 1. 1/
10 11 12 13 14 15 16 17 18 19 1: 1; 1< 1= 1> 1?
1@ 1A 1B 1C 1D 1E 1F 1G 1H 1I 1J 1K 1L 1M 1N 1O
1P 1Q 1R 1S 1T 1U 1V 1W 1X 1Y 1Z 1[ 1\ 1] 1^ 1_
1` 1a 1b 1c 1d 1e 1f 1g 1h 1i 1j 1k 1l 1m 1n 1o
1p 1q 1r 1s 1t 1u 1v 1w 1x 1y 1z 1{ 1| 1} 1~
2! 2" 2# 2$ 2% 2& 2' 2( 2) 2* 2+ 2, 2- 2. 2/
20 21 22 23 24 25 26 27 28 29 2: 2; 2< 2= 2> 2?
2@ 2A 2B 2C 2D 2E 2F 2G 2H 2I 2J 2K 2L 2M 2N 2O
2P 2Q 2R 2S 2T 2U 2V 2W 2X 2Y 2Z 2[ 2\ 2] 2^ 2_
2` 2a 2b 2c 2d 2e 2f 2g 2h 2i 2j 2k 2l 2m 2n 2o
2p 2q 2r 2s 2t 2u 2v 2w 2x 2y 2z 2{ 2| 2} 2~
3! 3" 3# 3$ 3% 3& 3' 3( 3) 3* 3+ 3, 3- 3. 3/
30 31 32 33 34 35 36 37 38 39 3: 3; 3< 3= 3> 3?
3@ 3A 3B 3C 3D 3E 3F 3G 3H 3I 3J 3K 3L 3M 3N 3O
3P 3Q 3R 3S 3T 3U 3V 3W 3X 3Y 3Z 3[ 3\ 3] 3^ 3_
3` 3a 3b 3c 3d 3e 3f 3g 3h 3i 3j 3k 3l 3m 3n 3o
3p 3q 3r 3s 3t 3u 3v 3w 3x 3y 3z 3{ 3| 3} 3~
4! 4" 4# 4$ 4% 4& 4' 4( 4) 4* 4+ 4, 4- 4. 4/
40 41 42 43 44 45 46 47 48 49 4: 4; 4< 4= 4> 4?
4@ 4A 4B 4C 4D 4E 4F 4G 4H 4I 4J 4K 4L 4M 4N 4O
4P 4Q 4R 4S 4T 4U 4V 4W 4X 4Y 4Z 4[ 4\ 4] 4^ 4_
4` 4a 4b 4c 4d 4e 4f 4g 4h 4i 4j 4k 4l 4m 4n 4o
4p 4q 4r 4s 4t 4u 4v 4w 4x 4y 4z 4{ 4| 4} 4~
5! 5" 5# 5$ 5% 5& 5' 5( 5) 5* 5+ 5, 5- 5. 5/
50 51 52 53 54 55 56 57 58 59 5: 5; 5< 5= 5> 5?
5@ 5A 5B 5C 5D 5E 5F 5G 5H 5I 5J 5K 5L 5M 5N 5O
5P 5Q 5R 5S 5T 5U 5V 5W 5X 5Y 5Z 5[ 5\ 5] 5^ 5_
5` 5a 5b 5c 5d 5e 5f 5g 5h 5i 5j 5k 5l 5m 5n 5o
5p 5q 5r 5s 5t 5u 5v 5w 5x 5y 5z 5{ 5| 5} 5~
6! 6" 6# 6$ 6% 6& 6' 6( 6) 6* 6+ 6, 6- 6. 6/
60 61 62 63 64 65 66 67 68 69 6: 6; 6< 6= 6> 6?
6@ 6A 6B 6C 6D 6E 6F 6G 6H 6I 6J 6K 6L 6M 6N 6O
6P 6Q 6R 6S 6T 6U 6V 6W 6X 6Y 6Z 6[ 6\ 6] 6^ 6_
6` 6a 6b 6c 6d 6e 6f 6g 6h 6i 6j 6k 6l 6m 6n 6o
6p 6q 6r 6s 6t 6u 6v 6w 6x 6y 6z 6{ 6| 6} 6~
7! 7" 7# 7$ 7% 7& 7' 7( 7) 7* 7+ 7, 7- 7. 7/
70 71 72 73 74 75 76 77 78 79 7: 7; 7< 7= 7> 7?
7@ 7A 7B 7C 7D 7E 7F 7G 7H 7I 7J 7K 7L 7M 7N 7O
7P 7Q 7R 7S 7T 7U 7V 7W 7X 7Y 7Z 7[ 7\ 7] 7^ 7_
7` 7a 7b 7c 7d 7e 7f 7g 7h 7i 7j 7k 7l 7m 7n 7o
7p 7q 7r 7s 7t 7u 7v 7w 7x 7y 7z 7{ 7| 7} 7~
8! 8" 8# 8$ 8% 8& 8' 8( 8) 8* 8+ 8, 8- 8. 8/
80 81 82 83 84 85 86 87 88 89 8: 8; 8< 8= 8> 8?
8@ 8A 8B 8C 8D 8E 8F 8G 8H 8I 8J 8K 8L 8M 8N 8O
8P 8Q 8R 8S 8T 8U 8V 8W 8X 8Y 8Z 8[ 8\ 8] 8^ 8_
8` 8a 8b 8c 8d 8e 8f 8g 8h 8i 8j 8k 8l 8m 8n 8o
8p 8q 8r 8s 8t 8u 8v 8w 8x 8y 8z 8{ 8| 8} 8~
9! 9" 9# 9$ 9% 9& 9' 9( 9) 9* 9+ 9, 9- 9. 9/
90 91 92 93 94 95 96 97 98 99 9: 9; 9< 9= 9> 9?
9@ 9A 9B 9C 9D 9E 9F 9G 9H 9I 9J 9K 9L 9M 9N 9O
9P 9Q 9R 9S 9T 9U 9V 9W 9X 9Y 9Z 9[ 9\ 9] 9^ 9_
9` 9a 9b 9c 9d 9e 9f 9g 9h 9i 9j 9k 9l 9m 9n 9o
9p 9q 9r 9s 9t 9u 9v 9w 9x 9y 9z 9{ 9| 9} 9~
:! :" :# :$ :% :& :' :( :) :* :+ :, :- :. :/
:0 :1 :2 :3 :4 :5 :6 :7 :8 :9 :: :; :< := :> :?
:@ :A :B :C :D :E :F :G :H :I :J :K :L :M :N :O
:P :Q :R :S :T :U :V :W :X :Y :Z :[ :\ :] :^ :_
:` :a :b :c :d :e :f :g :h :i :j :k :l :m :n :o
:p :q :r :s :t :u :v :w :x :y :z :{ :| :} :~
;! ;" ;# ;$ ;% ;& ;' ;( ;) ;* ;+ ;, ;- ;. ;/
;0 ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;: ;; ;< ;= ;> ;?
;@ ;A ;B ;C ;D ;E ;F ;G ;H ;I ;J ;K ;L ;M ;N ;O
;P ;Q ;R ;S ;T ;U ;V ;W ;X ;Y ;Z ;[ ;\ ;] ;^ ;_
;` ;a ;b ;c ;d ;e ;f ;g ;h ;i ;j ;k ;l ;m ;n ;o
;p ;q ;r ;s ;t ;u ;v ;w ;x ;y ;z ;{ ;| ;} ;~
<! <" <# <$ <% <& <' <( <) <* <+ <, <- <. </
<0 <1 <2 <3 <4 <5 <6 <7 <8 <9 <: <; << <= <> <?
<@ <A <B <C <D <E <F <G <H <I <J <K <L <M <N <O
<P <Q <R <S <T <U <V <W <X <Y <Z <[ <\ <] <^ <_
<` <a <b <c <d <e <f <g <h <i <j <k <l <m <n <o
<p <q <r <s <t <u <v <w <x <y <z <{ <| <} <~
=! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/
=0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =?
=@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O
=P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_
=` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o
=p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~
>! >" ># >$ >% >& >' >( >) >* >+ >, >- >. >/
>0 >1 >2 >3 >4 >5 >6 >7 >8 >9 >: >; >< >= >> >?
>@ >A >B >C >D >E >F >G >H >I >J >K >L >M >N >O
>P >Q >R >S >T >U >V >W >X >Y >Z >[ >\ >] >^ >_
>` >a >b >c >d >e >f >g >h >i >j >k >l >m >n >o
>p >q >r >s >t >u >v >w >x >y >z >{ >| >} >~
?! ?" ?# ?$ ?% ?& ?' ?( ?) ?* ?+ ?, ?- ?. ?/
?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?: ?; ?< ?= ?> ??
?@ ?A ?B ?C ?D ?E ?F ?G ?H ?I ?J ?K ?L ?M ?N ?O
?P ?Q ?R ?S ?T ?U ?V ?W ?X ?Y ?Z ?[ ?\ ?] ?^ ?_
?` ?a ?b ?c ?d ?e ?f ?g ?h ?i ?j ?k ?l ?m ?n ?o
?p ?q ?r ?s ?t ?u ?v ?w ?x ?y ?z ?{ ?| ?} ?~
@! @" @# @$ @% @& @' @( @) @* @+ @, @- @. @/
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9 @: @; @< @= @> @?
@@ @A @B @C @D @E @F @G @H @I @J @K @L @M @N @O
@P @Q @R @S @T @U @V @W @X @Y @Z @[ @\ @] @^ @_
@` @a @b @c @d @e @f @g @h @i @j @k @l @m @n @o
@p @q @r @s @t @u @v @w @x @y @z @{ @| @} @~
A! A" A# A$ A% A& A' A( A) A* A+ A, A- A. A/
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A: A; A< A= A> A?
A@ AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO
AP AQ AR AS AT AU AV AW AX AY AZ A[ A\ A] A^ A_
A` Aa Ab Ac Ad Ae Af Ag Ah Ai Aj Ak Al Am An Ao
Ap Aq Ar As At Au Av Aw Ax Ay Az A{ A| A} A~
B! B" B# B$ B% B& B' B( B) B* B+ B, B- B. B/
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B: B; B< B= B> B?
B@ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO
BP BQ BR BS BT BU BV BW BX BY BZ B[ B\ B] B^ B_
B` Ba Bb Bc Bd Be Bf Bg Bh Bi Bj Bk Bl Bm Bn Bo
Bp Bq Br Bs Bt Bu Bv Bw Bx By Bz B{ B| B} B~
C! C" C# C$ C% C& C' C( C) C* C+ C, C- C. C/
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C: C; C< C= C> C?
C@ CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO
CP CQ CR CS CT CU CV CW CX CY CZ C[ C\ C] C^ C_
C` Ca Cb Cc Cd Ce Cf Cg Ch Ci Cj Ck Cl Cm Cn Co
Cp Cq Cr Cs Ct Cu Cv Cw Cx Cy Cz C{ C| C} C~
D! D" D# D$ D% D& D' D( D) D* D+ D, D- D. D/
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D: D; D< D= D> D?
D@ DA DB DC DD DE DF DG DH DI DJ DK DL DM DN DO
DP DQ DR DS DT DU DV DW DX DY DZ D[ D\ D] D^ D_
D` Da Db Dc Dd De Df Dg Dh Di Dj Dk Dl Dm Dn Do
Dp Dq Dr Ds Dt Du Dv Dw Dx Dy Dz D{ D| D} D~
E! E" E# E$ E% E& E' E( E) E* E+ E, E- E. E/
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E?
E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO
EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_
E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo
Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~
F! F" F# F$ F% F& F' F( F) F* F+ F, F- F. F/
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F: F; F< F= F> F?
F@ FA FB FC FD FE FF FG FH FI FJ FK FL FM FN FO
FP FQ FR FS FT FU FV FW FX FY FZ F[ F\ F] F^ F_
F` Fa Fb Fc Fd Fe Ff Fg Fh Fi Fj Fk Fl Fm Fn Fo
Fp Fq Fr Fs Ft Fu Fv Fw Fx Fy Fz F{ F| F} F~
G! G" G# G$ G% G& G' G( G) G* G+ G, G- G. G/
G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G: G; G< G= G> G?
G@ GA GB GC GD GE GF GG GH GI GJ GK GL GM GN GO
GP GQ GR GS GT GU GV GW GX GY GZ G[ G\ G] G^ G_
G` Ga Gb Gc Gd Ge Gf Gg Gh Gi Gj Gk Gl Gm Gn Go
Gp Gq Gr Gs Gt Gu Gv Gw Gx Gy Gz G{ G| G} G~
H! H" H# H$ H% H& H' H( H) H* H+ H, H- H. H/
H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H: H; H< H= H> H?
H@ HA HB HC HD HE HF HG HH HI HJ HK HL HM HN HO
HP HQ HR HS HT HU HV HW HX HY HZ H[ H\ H] H^ H_
H` Ha Hb Hc Hd He Hf Hg Hh Hi Hj Hk Hl Hm Hn Ho
Hp Hq Hr Hs Ht Hu Hv Hw Hx Hy Hz H{ H| H} H~
J! J" J# J$ J% J& J' J( J) J* J+ J, J- J. J/
J0 J1 J2 J3 J4 J5 J6 J7 J8 J9 J: J; J< J= J> J?
J@ JA JB JC JD JE JF JG JH JI JJ JK JL JM JN JO
JP JQ JR JS JT JU JV JW JX JY JZ J[ J\ J] J^ J_
J` Ja Jb Jc Jd Je Jf Jg Jh Ji Jj Jk Jl Jm Jn Jo
Jp Jq Jr Js Jt Ju Jv Jw Jx Jy Jz J{ J| J} J~
K! K" K# K$ K% K& K' K( K) K* K+ K, K- K. K/
K0 K1 K2 K3 K4 K5 K6 K7 K8 K9 K: K; K< K= K> K?
K@ KA KB KC KD KE KF KG KH KI KJ KK KL KM KN KO
KP KQ KR KS KT KU KV KW KX KY KZ K[ K\ K] K^ K_
K` Ka Kb Kc Kd Ke Kf Kg Kh Ki Kj Kk Kl Km Kn Ko
Kp Kq Kr Ks Kt Ku Kv Kw Kx Ky Kz K{ K| K} K~
L! L" L# L$ L% L& L' L( L) L* L+ L, L- L. L/
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 L: L; L< L= L> L?
L@ LA LB LC LD LE LF LG LH LI LJ LK LL LM LN LO
LP LQ LR LS LT LU LV LW LX LY LZ L[ L\ L] L^ L_
L` La Lb Lc Ld Le Lf Lg Lh Li Lj Lk Ll Lm Ln Lo
Lp Lq Lr Ls Lt Lu Lv Lw Lx Ly Lz L{ L| L} L~
M! M" M# M$ M% M& M' M( M) M* M+ M, M- M. M/
M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M: M; M< M= M> M?
M@ MA MB MC MD ME MF MG MH MI MJ MK ML MM MN MO
MP MQ MR MS MT MU MV MW MX MY MZ M[ M\ M] M^ M_
M` Ma Mb Mc Md Me Mf Mg Mh Mi Mj Mk Ml Mm Mn Mo
Mp Mq Mr Ms Mt Mu Mv Mw Mx My Mz M{ M| M} M~
N! N" N# N$ N% N& N' N( N) N* N+ N, N- N. N/
N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 N: N; N< N= N> N?
N@ NA NB NC ND NE NF NG NH NI NJ NK NL NM NN NO
NP NQ NR NS NT NU NV NW NX NY NZ N[ N\ N] N^ N_
N` Na Nb Nc Nd Ne Nf Ng Nh Ni Nj Nk Nl Nm Nn No
Np Nq Nr Ns Nt Nu Nv Nw Nx Ny Nz N{ N| N} N~
O! O" O# O$ O% O& O' O( O) O* O+ O, O- O. O/
O0 O1 O2 O3 O4 O5 O6 O7 O8 O9 O: O; O< O= O> O?
O@ OA OB OC OD OE OF OG OH OI OJ OK OL OM ON OO
OP OQ OR OS OT OU OV OW OX OY OZ O[ O\ O] O^ O_
O` Oa Ob Oc Od Oe Of Og Oh Oi Oj Ok Ol Om On Oo
Op Oq Or Os Ot Ou Ov Ow Ox Oy Oz O{ O| O} O~
P! P" P# P$ P% P& P' P( P) P* P+ P, P- P. P/
P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P: P; P< P= P> P?
P@ PA PB PC PD PE PF PG PH PI PJ PK PL PM PN PO
PP PQ PR PS PT PU PV PW PX PY PZ P[ P\ P] P^ P_
P` Pa Pb Pc Pd Pe Pf Pg Ph Pi Pj Pk Pl Pm Pn Po
Pp Pq Pr Ps Pt Pu Pv Pw Px Py Pz P{ P| P} P~
Q! Q" Q# Q$ Q% Q& Q' Q( Q) Q* Q+ Q, Q- Q. Q/
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q: Q; Q< Q= Q> Q?
Q@ QA QB QC QD QE QF QG QH QI QJ QK QL QM QN QO
QP QQ QR QS QT QU QV QW QX QY QZ Q[ Q\ Q] Q^ Q_
Q` Qa Qb Qc Qd Qe Qf Qg Qh Qi Qj Qk Ql Qm Qn Qo
Qp Qq Qr Qs Qt Qu Qv Qw Qx Qy Qz Q{ Q| Q} Q~
R! R" R# R$ R% R& R' R( R) R* R+ R, R- R. R/
R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R: R; R< R= R> R?
R@ RA RB RC RD RE RF RG RH RI RJ RK RL RM RN RO
RP RQ RR RS RT RU RV RW RX RY RZ R[ R\ R] R^ R_
R` Ra Rb Rc Rd Re Rf Rg Rh Ri Rj Rk Rl Rm Rn Ro
Rp Rq Rr Rs Rt Ru Rv Rw Rx Ry Rz R{ R| R} R~
S! S" S# S$ S% S& S' S( S) S* S+ S, S- S. S/
S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S: S; S< S= S> S?
S@ SA SB SC SD SE SF SG SH SI SJ SK SL SM SN SO
SP SQ SR SS ST SU SV SW SX SY SZ S[ S\ S] S^ S_
S` Sa Sb Sc Sd Se Sf Sg Sh Si Sj Sk Sl Sm Sn So
Sp Sq Sr Ss St Su Sv Sw Sx Sy Sz S{ S| S} S~
T! T" T# T$ T% T& T' T( T) T* T+ T, T- T. T/
T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T: T; T< T= T> T?
T@ TA TB TC TD TE TF TG TH TI TJ TK TL TM TN TO
TP TQ TR TS TT TU TV TW TX TY TZ T[ T\ T] T^ T_
T` Ta Tb Tc Td Te Tf Tg Th Ti Tj Tk Tl Tm Tn To
Tp Tq Tr Ts Tt Tu Tv Tw Tx Ty Tz T{ T| T} T~
U! U" U# U$ U% U& U' U( U) U* U+ U, U- U. U/
U0 U1 U2 U3 U4 U5 U6 U7 U8 U9 U: U; U< U= U> U?
U@ UA UB UC UD UE UF UG UH UI UJ UK UL UM UN UO
UP UQ UR US UT UU UV UW UX UY UZ U[ U\ U] U^ U_
U` Ua Ub Uc Ud Ue Uf Ug Uh Ui Uj Uk Ul Um Un Uo
Up Uq Ur Us Ut Uu Uv Uw Ux Uy Uz U{ U| U} U~
V! V" V# V$ V% V& V' V( V) V* V+ V, V- V. V/
V0 V1 V2 V3 V4 V5 V6 V7 V8 V9 V: V; V< V= V> V?
V@ VA VB VC VD VE VF VG VH VI VJ VK VL VM VN VO
VP VQ VR VS VT VU VV VW VX VY VZ V[ V\ V] V^ V_
V` Va Vb Vc Vd Ve Vf Vg Vh Vi Vj Vk Vl Vm Vn Vo
Vp Vq Vr Vs Vt Vu Vv Vw Vx Vy Vz V{ V| V} V~
W! W" W# W$ W% W& W' W( W) W* W+ W, W- W. W/
W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W: W; W< W= W> W?
W@ WA WB WC WD WE WF WG WH WI WJ WK WL WM WN WO
WP WQ WR WS WT WU WV WW WX WY WZ W[ W\ W] W^ W_
W` Wa Wb Wc Wd We Wf Wg Wh Wi Wj Wk Wl Wm Wn Wo
Wp Wq Wr Ws Wt Wu Wv Ww Wx Wy Wz W{ W| W} W~
X! X" X# X$ X% X& X' X( X) X* X+ X, X- X. X/
X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X: X; X< X= X> X?
X@ XA XB XC XD XE XF XG XH XI XJ XK XL XM XN XO
XP XQ XR XS XT XU XV XW XX XY XZ X[ X\ X] X^ X_
X` Xa Xb Xc Xd Xe Xf Xg Xh Xi Xj Xk Xl Xm Xn Xo
Xp Xq Xr Xs Xt Xu Xv Xw Xx Xy Xz X{ X| X} X~
Y! Y" Y# Y$ Y% Y& Y' Y( Y) Y* Y+ Y, Y- Y. Y/
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y: Y; Y< Y= Y> Y?
Y@ YA YB YC YD YE YF YG YH YI YJ YK YL YM YN YO
YP YQ YR YS YT YU YV YW YX YY YZ Y[ Y\ Y] Y^ Y_
Y` Ya Yb Yc Yd Ye Yf Yg Yh Yi Yj Yk Yl Ym Yn Yo
Yp Yq Yr Ys Yt Yu Yv Yw Yx Yy Yz Y{ Y| Y} Y~
Z! Z" Z# Z$ Z% Z& Z' Z( Z) Z* Z+ Z, Z- Z. Z/
Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z: Z; Z< Z= Z> Z?
Z@ ZA ZB ZC ZD ZE ZF ZG ZH ZI ZJ ZK ZL ZM ZN ZO
ZP ZQ ZR ZS ZT ZU ZV ZW ZX ZY ZZ Z[ Z\ Z] Z^ Z_
Z` Za Zb Zc Zd Ze Zf Zg Zh Zi Zj Zk Zl Zm Zn Zo
Zp Zq Zr Zs Zt Zu Zv Zw Zx Zy Zz Z{ Z| Z} Z~
[! [" [# [$ [% [& [' [( [) [* [+ [, [- [. [/
[0 [1 [2 [3 [4 [5 [6 [7 [8 [9 [: [; [< [= [> [?
[@ [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O
[P [Q [R [S [T [U [V [W [X [Y [Z [[ [\ [] [^ [_
[` [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o
[p [q [r [s [t [u [v [w [x [y [z [{ [| [} [~
\! \" \# \$ \% \& \' \( \) \* \+ \, \- \. \/
\0 \1 \2 \3 \4 \5 \6 \7 \8 \9 \: \; \< \= \> \?
\@ \A \B \C \D \E \F \G \H \I \J \K \L \M \N \O
\P \Q \R \S \T \U \V \W \X \Y \Z \[ \\ \] \^ \_
\` \a \b \c \d \e \f \g \h \i \j \k \l \m \n \o
\p \q \r \s \t \u \v \w \x \y \z \{ \| \} \~
]! ]" ]# ]$ ]% ]& ]' ]( ]) ]* ]+ ], ]- ]. ]/
]0 ]1 ]2 ]3 ]4 ]5 ]6 ]7 ]8 ]9 ]: ]; ]< ]= ]> ]?
]@ ]A ]B ]C ]D ]E ]F ]G ]H ]I ]J ]K ]L ]M ]N ]O
]P ]Q ]R ]S ]T ]U ]V ]W ]X ]Y ]Z ][ ]\ ]] ]^ ]_
]` ]a ]b ]c ]d ]e ]f ]g ]h ]i ]j ]k ]l ]m ]n ]o
]p ]q ]r ]s ]t ]u ]v ]w ]x ]y ]z ]{ ]| ]} ]~
^! ^" ^# ^$ ^% ^& ^' ^( ^) ^* ^+ ^, ^- ^. ^/
^0 ^1 ^2 ^3 ^4 ^5 ^6 ^7 ^8 ^9 ^: ^; ^< ^= ^> ^?
^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O
^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_
^` ^a ^b ^c ^d ^e ^f ^g ^h ^i ^j ^k ^l ^m ^n ^o
^p ^q ^r ^s ^t ^u ^v ^w ^x ^y ^z ^{ ^| ^} ^~
_! _" _# _$ _% _& _' _( _) _* _+ _, _- _. _/
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _: _; _< _= _> _?
_@ _A _B _C _D _E _F _G _H _I _J _K _L _M _N _O
_P _Q _R _S _T _U _V _W _X _Y _Z _[ _\ _] _^ __
_` _a _b _c _d _e _f _g _h _i _j _k _l _m _n _o
_p _q _r _s _t _u _v _w _x _y _z _{ _| _} _~
`! `" `# `$ `% `& `' `( `) `* `+ `, `- `. `/
`0 `1 `2 `3 `4 `5 `6 `7 `8 `9 `: `; `< `= `> `?
`@ `A `B `C `D `E `F `G `H `I `J `K `L `M `N `O
`P `Q `R `S `T `U `V `W `X `Y `Z `[ `\ `] `^ `_
`` `a `b `c `d `e `f `g `h `i `j `k `l `m `n `o
`p `q `r `s `t `u `v `w `x `y `z `{ `| `} `~
a! a" a# a$ a% a& a' a( a) a* a+ a, a- a. a/
a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a: a; a< a= a> a?
a@ aA aB aC aD aE aF aG aH aI aJ aK aL aM aN aO
aP aQ aR aS aT aU aV aW aX aY aZ a[ a\ a] a^ a_
a` aa ab ac ad ae af ag ah ai aj ak al am an ao
ap aq ar as at au av aw ax ay az a{ a| a} a~
b! b" b# b$ b% b& b' b( b) b* b+ b, b- b. b/
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b: b; b< b= b> b?
b@ bA bB bC bD bE bF bG bH bI bJ bK bL bM bN bO
bP bQ bR bS bT bU bV bW bX bY bZ b[ b\ b] b^ b_
b` ba bb bc bd be bf bg bh bi bj bk bl bm bn bo
bp bq br bs bt bu bv bw bx by bz b{ b| b} b~
c! c" c# c$ c% c& c' c( c) c* c+ c, c- c. c/
c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c: c; c< c= c> c?
c@ cA cB cC cD cE cF cG cH cI cJ cK cL cM cN cO
cP cQ cR cS cT cU cV cW cX cY cZ c[ c\ c] c^ c_
c` ca cb cc cd ce cf cg ch ci cj ck cl cm cn co
cp cq cr cs ct cu cv cw cx cy cz c{ c| c} c~
d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/
d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d?
d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO
dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_
d` da db dc dd de df dg dh di dj dk dl dm dn do
dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~
e! e" e# e$ e% e& e' e( e) e* e+ e, e- e. e/
e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 e: e; e< e= e> e?
e@ eA eB eC eD eE eF eG eH eI eJ eK eL eM eN eO
eP eQ eR eS eT eU eV eW eX eY eZ e[ e\ e] e^ e_
e` ea eb ec ed ee ef eg eh ei ej ek el em en eo
ep eq er es et eu ev ew ex ey ez e{ e| e} e~
f! f" f# f$ f% f& f' f( f) f* f+ f, f- f. f/
f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f: f; f< f= f> f?
f@ fA fB fC fD fE fF fG fH fI fJ fK fL fM fN fO
fP fQ fR fS fT fU fV fW fX fY fZ f[ f\ f] f^ f_
f` fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo
fp fq fr fs ft fu fv fw fx fy fz f{ f| f} f~
g! g" g# g$ g% g& g' g( g) g* g+ g, g- g. g/
g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 g: g; g< g= g> g?
g@ gA gB gC gD gE gF gG gH gI gJ gK gL gM gN gO
gP gQ gR gS gT gU gV gW gX gY gZ g[ g\ g] g^ g_
g` ga gb gc gd ge gf gg gh gi gj gk gl gm gn go
gp gq gr gs gt gu gv gw gx gy gz g{ g| g} g~
h! h" h# h$ h% h& h' h( h) h* h+ h, h- h. h/
h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h: h; h< h= h> h?
h@ hA hB hC hD hE hF hG hH hI hJ hK hL hM hN hO
hP hQ hR hS hT hU hV hW hX hY hZ h[ h\ h] h^ h_
h` ha hb hc hd he hf hg hh hi hj hk hl hm hn ho
hp hq hr hs ht hu hv hw hx hy hz h{ h| h} h~
i! i" i# i$ i% i& i' i( i) i* i+ i, i- i. i/
i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 i: i; i< i= i> i?
i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM iN iO
iP iQ iR iS iT iU iV iW iX iY iZ i[ i\ i] i^ i_
i` ia ib ic id ie if ig ih ii ij ik il im in io
ip iq ir is it iu iv iw ix iy iz i{ i| i} i~
j! j" j# j$ j% j& j' j( j) j* j+ j, j- j. j/
j0 j1 j2 j3 j4 j5 j6 j7 j8 j9 j: j; j< j= j> j?
j@ jA jB jC jD jE jF jG jH jI jJ jK jL jM jN jO
jP jQ jR jS jT jU jV jW jX jY jZ j[ j\ j] j^ j_
j` ja jb jc jd je jf jg jh ji jj jk jl jm jn jo
jp jq jr js jt ju jv jw jx jy jz j{ j| j} j~
k! k" k# k$ k% k& k' k( k) k* k+ k, k- k. k/
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k: k; k< k= k> k?
k@ kA kB kC kD kE kF kG kH kI kJ kK kL kM kN kO
kP kQ kR kS kT kU kV kW kX kY kZ k[ k\ k] k^ k_
k` ka kb kc kd ke kf kg kh ki kj kk kl km kn ko
kp kq kr ks kt ku kv kw kx ky kz k{ k| k} k~
l! l" l# l$ l% l& l' l( l) l* l+ l, l- l. l/
l0 l1 l2 l3 l4 l5 l6 l7 l8 l9 l: l; l< l= l> l?
l@ lA lB lC lD lE lF lG lH lI lJ lK lL lM lN lO
lP lQ lR lS lT lU lV lW lX lY lZ l[ l\ l] l^ l_
l` la lb lc ld le lf lg lh li lj lk ll lm ln lo
lp lq lr ls lt lu lv lw lx ly lz l{ l| l} l~
m! m" m# m$ m% m& m' m( m) m* m+ m, m- m. m/
m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m: m; m< m= m> m?
m@ mA mB mC mD mE mF mG mH mI mJ mK mL mM mN mO
mP mQ mR mS mT mU mV mW mX mY mZ m[ m\ m] m^ m_
m` ma mb mc md me mf mg mh mi mj mk ml mm mn mo
mp mq mr ms mt mu mv mw mx my mz m{ m| m} m~
n! n" n# n$ n% n& n' n( n) n* n+ n, n- n. n/
n0 n1 n2 n3 n4 n5 n6 n7 n8 n9 n: n; n< n= n> n?
n@ nA nB nC nD nE nF nG nH nI nJ nK nL nM nN nO
nP nQ nR nS nT nU nV nW nX nY nZ n[ n\ n] n^ n_
n` na nb nc nd ne nf ng nh ni nj nk nl nm nn no
np nq nr ns nt nu nv nw nx ny nz n{ n| n} n~
o! o" o# o$ o% o& o' o( o) o* o+ o, o- o. o/
o0 o1 o2 o3 o4 o5 o6 o7 o8 o9 o: o; o< o= o> o?
o@ oA oB oC oD oE oF oG oH oI oJ oK oL oM oN oO
oP oQ oR oS oT oU oV oW oX oY oZ o[ o\ o] o^ o_
o` oa ob oc od oe of og oh oi oj ok ol om on oo
op oq or os ot ou ov ow ox oy oz o{ o| o} o~
p! p" p# p$ p% p& p' p( p) p* p+ p, p- p. p/
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p: p; p< p= p> p?
p@ pA pB pC pD pE pF pG pH pI pJ pK pL pM pN pO
pP pQ pR pS pT pU pV pW pX pY pZ p[ p\ p] p^ p_
p` pa pb pc pd pe pf pg ph pi pj pk pl pm pn po
pp pq pr ps pt pu pv pw px py pz p{ p| p} p~
q! q" q# q$ q% q& q' q( q) q* q+ q, q- q. q/
q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q: q; q< q= q> q?
q@ qA qB qC qD qE qF qG qH qI qJ qK qL qM qN qO
qP qQ qR qS qT qU qV qW qX qY qZ q[ q\ q] q^ q_
q` qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo
qp qq qr qs qt qu qv qw qx qy qz q{ q| q} q~
r! r" r# r$ r% r& r' r( r) r* r+ r, r- r. r/
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r: r; r< r= r> r?
r@ rA rB rC rD rE rF rG rH rI rJ rK rL rM rN rO
rP rQ rR rS rT rU rV rW rX rY rZ r[ r\ r] r^ r_
r` ra rb rc rd re rf rg rh ri rj rk rl rm rn ro
rp rq rr rs rt ru rv rw rx ry rz r{ r| r} r~
s! s" s# s$ s% s& s' s( s) s* s+ s, s- s. s/
s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s: s; s< s= s> s?
s@ sA sB sC sD sE sF sG sH sI sJ sK sL sM sN sO
sP sQ sR sS sT sU sV sW sX sY sZ s[ s\ s] s^ s_
s` sa sb sc sd se sf sg sh si sj sk sl sm sn so
sp sq sr ss st su sv sw sx sy sz s{ s| s} s~
t! t" t# t$ t% t& t' t( t) t* t+ t, t- t. t/
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t: t; t< t= t> t?
t@ tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO
tP tQ tR tS tT tU tV tW tX tY tZ t[ t\ t] t^ t_
t` ta tb tc td te tf tg th ti tj tk tl tm tn to
tp tq tr ts tt tu tv tw tx ty tz t{ t| t} t~
u! u" u# u$ u% u& u' u( u) u* u+ u, u- u. u/
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u: u; u< u= u> u?
u@ uA uB uC uD uE uF uG uH uI uJ uK uL uM uN uO
uP uQ uR uS uT uU uV uW uX uY uZ u[ u\ u] u^ u_
u` ua ub uc ud ue uf ug uh ui uj uk ul um un uo
up uq ur us ut uu uv uw ux uy uz u{ u| u} u~
v! v" v# v$ v% v& v' v( v) v* v+ v, v- v. v/
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v: v; v< v= v> v?
v@ vA vB vC vD vE vF vG vH vI vJ vK vL vM vN vO
vP vQ vR vS vT vU vV vW vX vY vZ v[ v\ v] v^ v_
v` va vb vc vd ve vf vg vh vi vj vk vl vm vn vo
vp vq vr vs vt vu vv vw vx vy vz v{ v| v} v~
w! w" w# w$ w% w& w' w( w) w* w+ w, w- w. w/
w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w: w; w< w= w> w?
w@ wA wB wC wD wE wF wG wH wI wJ wK wL wM wN wO
wP wQ wR wS wT wU wV wW wX wY wZ w[ w\ w] w^ w_
w` wa wb wc wd we wf wg wh wi wj wk wl wm wn wo
wp wq wr ws wt wu wv ww wx wy wz w{ w| w} w~
x! x" x# x$ x% x& x' x( x) x* x+ x, x- x. x/
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x: x; x< x= x> x?
x@ xA xB xC xD xE xF xG xH xI xJ xK xL xM xN xO
xP xQ xR xS xT xU xV xW xX xY xZ x[ x\ x] x^ x_
x` xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo
xp xq xr xs xt xu xv xw xx xy xz x{ x| x} x~
y! y" y# y$ y% y& y' y( y) y* y+ y, y- y. y/
y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y: y; y< y= y> y?
y@ yA yB yC yD yE yF yG yH yI yJ yK yL yM yN yO
yP yQ yR yS yT yU yV yW yX yY yZ y[ y\ y] y^ y_
y` ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo
yp yq yr ys yt yu yv yw yx yy yz y{ y| y} y~
z! z" z# z$ z% z& z' z( z) z* z+ z, z- z. z/
z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z: z; z< z= z> z?
z@ zA zB zC zD zE zF zG zH zI zJ zK zL zM zN zO
zP zQ zR zS zT zU zV zW zX zY zZ z[ z\ z] z^ z_
z` za zb zc zd ze zf zg zh zi zj zk zl zm zn zo
zp zq zr zs zt zu zv zw zx zy zz z{ z| z} z~
{! {" {# {$ {% {& {' {( {) {* {+ {, {- {. {/
{0 {1 {2 {3 {4 {5 {6 {7 {8 {9 {: {; {< {= {> {?
{@ {A {B {C {D {E {F {G {H {I {J {K {L {M {N {O
{P {Q {R {S {T {U {V {W {X {Y {Z {[ {\ {] {^ {_
{` {a {b {c {d {e {f {g {h {i {j {k {l {m {n {o
{p {q {r {s {t {u {v {w {x {y {z {{ {| {} {~
|! |" |# |$ |% |& |' |( |) |* |+ |, |- |. |/
|0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |: |; |< |= |> |?
|@ |A |B |C |D |E |F |G |H |I |J |K |L |M |N |O
|P |Q |R |S |T |U |V |W |X |Y |Z |[ |\ |] |^ |_
|` |a |b |c |d |e |f |g |h |i |j |k |l |m |n |o
|p |q |r |s |t |u |v |w |x |y |z |{ || |} |~
}! }" }# }$ }% }& }' }( }) }* }+ }, }- }. }/
}0 }1 }2 }3 }4 }5 }6 }7 }8 }9 }: }; }< }= }> }?
}@ }A }B }C }D }E }F }G }H }I }J }K }L }M }N }O
}P }Q }R }S }T }U }V }W }X }Y }Z }[ }\ }] }^ }_
}` }a }b }c }d }e }f }g }h }i }j }k }l }m }n }o
}p }q }r }s }t }u }v }w }x }y }z }{ }| }} }~

View File

@ -43,6 +43,8 @@ __btowc (c)
/* Tell where we want the result. */
data.outbuf = (char *) buf;
data.outbufend = data.outbuf + sizeof (wchar_t);
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = &data.__state;

View File

@ -45,6 +45,8 @@ __mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
/* Tell where we want the result. */
data.outbuf = outbuf;
data.outbufend = outbuf + sizeof (wchar_t);
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -50,6 +50,8 @@ __mbsnrtowcs (dst, src, nmc, len, ps)
int status;
/* Tell where we want the result. */
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -46,6 +46,8 @@ __mbsrtowcs (dst, src, len, ps)
int status;
/* Tell where we want the result. */
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -45,6 +45,8 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
/* Tell where we want the result. */
data.outbuf = s;
data.outbufend = s + MB_CUR_MAX;
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -49,6 +49,8 @@ __wcsnrtombs (dst, src, nwc, len, ps)
size_t result = 0;
/* Tell where we want the result. */
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -45,6 +45,8 @@ __wcsrtombs (dst, src, len, ps)
size_t result = 0;
/* Tell where we want the result. */
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = ps ?: &state;

View File

@ -38,6 +38,8 @@ wctob (c)
/* Tell where we want the result. */
data.outbuf = buf;
data.outbufend = buf + MB_LEN_MAX;
data.invocation_counter = 0;
data.internal_use = 1;
data.is_last = 1;
data.statep = &data.__state;